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;
}

总结

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

(0)

相关推荐

  • c/c++ 标准库 bind 函数详解

    bind函数定义在头文件 functional 中.可以将 bind 函数看作一个通用的函数适配器,它接受一个可调用对象,生成一个新的可调用对象来"适应"原对象的参数列表. bind函数:接收一个函数名作为参数,生成一个新的函数. auto newCallable = bind(callbale, arg_list); arg_list中的参数可能包含入_1, _2等,这些是新函数newCallable的参数. 在这篇博客lambda 表达式 介绍 中,讨论了find_if的第三个参数

  • node.js调用C++函数的方法示例

    目前nodejs调用c++主流的有两种方法,分别是addons和ffi addons是nodejs官方的c++扩展实现方案,但是由于需要使用模版,并且要对v8引擎有一定的了解,入门门槛较高. ffi是nodejs直接调用so库的一种实现,可以调用纯c的接口. 要想node.js调用C++的函数等,须先将C++代码编译成二进制的.node文件.node.js官方文档https://nodejs.org/dist/latest-v8.x/docs/api/addons.html中的C++ addon

  • 关于C++复制构造函数的实现讲解

    复制构造函数是一种特殊的构造函数,有一般构造函数的特性.它的功能是用一个已知的对象来初始化一个被创建的同类对象.复制构造函数的参数传递方式必须按引用来进行传递,请看实例: #include <iostream> #include <cstring> using namespace std ; class Student { private : char name[8]; int age ; char sex ; int score ; public : void disp(); /

  • C++关于构造函数可向父类或者本类传参的讲解

    前面我们学习了C++使用初始化列表的方式来初始化字段的方法: https://www.jb51.net/article/153032.htm 这一节的原理和前面的差不多. 在C++的构造函数中,子类继承父类,那么,在创建一个子类成员时,可以同时向父类或者子类的构造函数进行传参,实现方法如下: 写一个例子:mul_argc.c #include <iostream> #include <cstring> using namespace std ; //英雄联盟类 class Hero

  • C++函数指针和回调函数使用解析

    函数指针 函数指针是指向函数的指针变量. 通常我们说的指针变量是指向一个整型变.字符型或数组等变量,而函数指针是指向函数. 函数指针可以像一般函数一样,用于调用函数.传递参数. 函数指针变量的声明: typedef int (*fun_ptr)(int,int); // 声明一个指向同样参数.返回值的函数指针变量 实例 以下实例声明了函数指针变量 p,指向函数 max: #include <stdio.h> int max(int x, int y){ return x > y ? x

  • 关于C++函数模版的实现讲解

    若一个程序的功能是对某种特定的数据类型进行处理,则将所处理的数据类型说明为参数,那么就可以把这个程序改写成为模版,模版可以让程序对任何其他数据类型进行同样方式的处理. 本节主要是说一下C++的函数模版,函数模版的定义一般形式是: template <类型形式参数表> 返回类型 函数名(形参) { //函数实现 } 看一个实例: #include <cstdio> #include <iostream> using namespace std; //函数模板 templa

  • 在C++中关于友元函数的进一步理解

    这里重新将类的成员函数的定义看一下: 百科上的认识: 类的成员函数的原型要写在类体中,原型说明了函数的参数表和返回值类型.而函数的定义一般在类外面,也可以直接在类内部定义.前者与普通函数不同的是,实现成员函数时要指明类的名称,具体形式为: 返回值类型 类名 :函数成员名(参数表){函数体}: 而后者一般为一些短小的函数(5行以内),也就是内联函数. 这里在百科上对友元函数的解释: 友元函数是指某些虽然不是类成员却能够访问类的所有成员的函数.类授予它的友元特别的访问权.通常同一个开发者会出于技术和

  • 详解C++调用Python脚本中的函数的实例代码

    1.环境配置 安装完python后,把python的include和lib拷贝到自己的工程目录下 然后在工程中包括进去 2.例子 先写一个python的测试脚本,如下 这个脚本里面定义了两个函数Hello()和_add().我的脚本的文件名叫mytest.py C++代码: #include "stdafx.h" #include <stdlib.h> #include <iostream> #include "include\Python.h&quo

  • C++中sort函数的基础入门使用教程

    前言 STL主要包含容器,迭代器,算法三块内容,用户可以对容器进行一系列的操作,比如遍历和计算,而STL提供的迭代器和容器完美地提供了这样的接口.其中std::vector是最常用的容器之一,vector是一个模板类,定义在命名空间namespace下,使用vector需要在包含相关头文件.今天主要讲解对vector的排序的使用. sort类函数: 函数名 功能描述 sort 对给定区间所有元素进行排序 stable_sort 对给定区间所有元素进行稳定排序 partial_sort 对给定区间

  • 关于C++友元函数的实现讲解

    友元函数是一种特殊的函数,它必须要在类中进行声明,但其本身并不是类的成员函数,但友元函数可以访问类的私有成员变量. 友元函数的好处: 1.实现类之间的数据共享 2.提高程序运行效率,方便编程 友元函数的坏处: 1.破坏数据的隐蔽性和类的封装性 2.降低了程序的可维护性 所有,友元函数应当谨慎的去使用它. 实例: #include <iostream> #include <cstring> using namespace std ; class Student { private :

随机推荐