C++标准C函数在各平台编译结果都相同

 更新时间:2018年12月21日 09:02:35   作者:蜗牛201  
今天小编就为大家分享一篇关于C++标准C函数在各平台编译结果都相同,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

介绍

ANSI组织定义了C标准和标准库函数。

使用标准C函数优点:

使用标准C函数在任何平台上都支持,使得同一个源码,在Windows编译运行的结果和Linux上编译运行结果相同,无需更改代码。

随机数(rand)

产生指定范围内随机数(1~100)

#include <stdio.h>
#include <stdlib.h>
int main()
{
 for (int i=0; i<10; i++)
 {
 printf("%d\n", rand()%100);
 }
}

每次运行会发现得到的是个随机数一样,为了解决这个问题,使用srand设置一个种子(seed),每次启动保证种子不同。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
 srand(time(NULL));
 for (int i=0; i<10; i++)
 {
 printf("%d\n", rand()%100);
 }
}

时间函数(time)

获取当前时间戳(单位:s),时间戳即为距离1970-01-01 00:00:00的秒数

#include <stdio.h>
#include <time.h>
int main()
{
 time_t ts = time(NULL);
 printf("%d\n", (int)ts);
}

通过时间戳获取年月日,时分秒,周几

#include <stdio.h>
#include <time.h>
int main()
{
 time_t ts = time(NULL);
 tm time = *localtime(&ts);
 int year = time.tm_year + 1900;
 int month = time.tm_mon + 1;
 int day = time.tm_mday;
  int hour = time.tm_hour;
 int min = time.tm_min;
 int sec = time.tm_sec;
 int week = time.tm_wday ;
 return 1;
}

通过年月日,时分秒,获取time_t 时间戳

#include <stdio.h>
#include <time.h>
int main()
{
 //时间为2017-07-15 21:38:30
 tm time = {0};
 time.tm_year = 2017 - 1900;
 time.tm_mon = 7 -1;
 time.tm_mday = 15;
  time.tm_hour = 21;
 time.tm_min = 38;
 time.tm_sec = 30;
 time_t ts = mktime(&time);
 //获得该天为周几
 tm time1 = *localtime(&ts);
 printf("周%d\n", time1.tm_wday);
 return 1;
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • Clion下载安装使用的详细教程(Win+MinGW)

    Clion下载安装使用的详细教程(Win+MinGW)

    这篇文章主要介绍了Clion下载安装使用教程(Win+MinGW),本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • 全面了解#pragma once与 #ifndef的区别

    全面了解#pragma once与 #ifndef的区别

    下面小编就为大家带来一篇全面了解#pragma once与 #ifndef的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08
  • 求解旋转数组的最小数字

    求解旋转数组的最小数字

    这篇文章主要介绍了求解旋转数组的最小数字的相关资料,需要的朋友可以参考下
    2017-05-05
  • C++ explicit关键字讲解

    C++ explicit关键字讲解

    这篇文章主要介绍了C++ explicit关键字讲解,++提供了explicit关键字,相对于implicit而言,他默认关闭了隐式类型转换方法。至于两者有什么区别,看下面文章内容的介绍吧
    2021-12-12
  • 从汇编看c++中变量类型的深入分析

    从汇编看c++中变量类型的深入分析

    本篇文章是对c++中的变量类型进行了详细的分析介绍。需要的朋友参考下
    2013-05-05
  • C++实现查找二叉树中和为某一值的所有路径的示例

    C++实现查找二叉树中和为某一值的所有路径的示例

    这篇文章主要介绍了C++实现查找二叉树中和为某一值的所有路径的示例,文中的方法是根据数组生成二叉排序树并进行遍历,需要的朋友可以参考下
    2016-02-02
  • C++ 如何实现顺序栈(使用模板类)

    C++ 如何实现顺序栈(使用模板类)

    这篇文章主要介绍了C++ 如何实现顺序栈(使用模板类),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • Visual Studio 2022下载及配置OpenCV4.5.5的详细过程

    Visual Studio 2022下载及配置OpenCV4.5.5的详细过程

    这篇文章主要介绍了Visual Studio 2022下载及配置OpenCV4.5.5的详细过程,在这里注意下Win10的64位操作系统,在OpenCV官网下载OpenCV4.5.5,安装的是Win pack,本文通过图文并茂的形式给大家介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • 解析linux 文件和目录操作的相关函数

    解析linux 文件和目录操作的相关函数

    以下是对linux中文件和目录操作的相关函数进行了详细的分析介绍,需要的朋友可以过来参考下
    2013-08-08
  • C/C++从零开始的cmake教程

    C/C++从零开始的cmake教程

    今天小编就为大家分享一篇关于C/C++从零开始的cmake教程,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10

最新评论