c++

简介: clock_t,size_t,time_t能够把系统时间和日期表示为某种整数time data int结构类型tm把日期和时间以C结构形式保存;C结构形式保存struct tm{int tm_sec; //second秒,正常范围从0~59,允许至61int tm_min; //minute分,范围...


clock_t,size_t,time_t能够把系统时间和日期表示为某种整数
time data int
结构类型tm把日期和时间以C结构形式保存;
C结构形式保存
struct tm
{
int tm_sec; //second秒,正常范围从0~59,允许至61
int tm_min; //minute分,范围从0~59
int tm_hour; //hours时,范围0~23
int tm_mday; //一个月中的第几天,范围1~31
int tm_mon; //month月,范围从0~11
int tm_year; //自1900年起的年数
int tm_wday; //一周中的第几天,范围从0~6,从星期日起算
int tm_yday; //一年中的第几天,范围从0~365,从1月1日起算
int tm_isdst; //夏令时dayRight save time (dst)
}

日期时间重要函数,所有这些函数都是C/C++标准库的组成部分

int tm_year;; //自1900年起的年数
time_t time(time_t *time);
该函数返回系统的当前日历时间,自1970/01/01经过秒数,函数返回系统的当前日历时间,自1970/01/01日以来经过的秒数,如果系统没有时间,则返回1
每天秒数

1分钟=60秒
1小时=60分钟
1天=24小时
每天的秒数 = 24 * 60 * 60 = 86400
一周7天 = 7 * 86400 = 604800
一个月30天算 30 * 86400 = 2592000
一年 12个月 * 2592000 获得一年的秒数 = 31104000

大约一年有這么多的秒数,那么自1970年/01/01到目前(2017/8) 约47年头 有多少秒
月 47 * 12 = 564;
564 * 2592000 = 1461888000
47 * 31104000 =


char *ctime(const time_t *time);
返回一个表示当地时间的字符串,字符串
char *ctime(const time_t *time);
返回一个表示当地时间的字符串指针char *ctime(const time_t *time) 返回一个表示本地时间字符串指针,
字符串形式day month year hours:minutes:seconds year\n\0换行字符串结束标志;

char *ctime(const time_t *time);
day month year hours:minutes:seconds year\n\0;

struct tm *localtime(const time_t *time);
函数返回一个指向表示本地时间的tm结构的指针;

struct tm *localtime(const time_t *time);
tm结构指针
clock_t clock(void);
四种与时间相关的类型 clock_t time_t size_t tm 类型clock_t size_t time_t 能够把系统时间日期表示为某种整数
clock_t clock
clock_t clock(void)
函数返回程序执行起(程序的开头),处理器时钟所用的时间
tm struct point;
clock_t clock(void)
返回一个表示当地时间的字符串指针
返回一个指向字符串的指针 字符串包含了time所指向结构中存储的信息,返回形式
char *asctime(const struct tm *time);
char *asctime(const struct )
struct tm *time

char *asctime(const struct tm* time);
函数返回一个指向字符串的指针 字符串包含了time所指向结构中存储的信息
day month date hours minutes seconds year

struct tm *gmtime(const tm * time);

struct tm *gmtime(const time_t *time);

函数返回一个指向time的指针 time为tm结构

universal universal time coordinated
universal time coordinated
greenwich mean time;

time_t mktime(struct tm *time);
time_t mktime(struct tm *time);
函数返回日历
size_t strftime()
函数用于格式化日期和时间为指定的格式;

double difftime(time_t time2,time_t time1);
函数返回time1和time2之间相差的秒数
double difftime(time_t time2,time_t time1);

使用结构化tm 格式化时间

struct tm
{
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
}

tm
int tm_sec; 0 59 61
int tm_min; 范围从0 59second minutes
24 0 23
mday 一个月中的第几天
范围从1 ~ 31;
int 一个月的第几天

月 0 ~ 11;
int tm_year;//自1900年起的年份
int tm_wday 一周中的第几天,范围0 ~ 6;
int tm_year 一年中的第几天

int tm_dst;
C++基本的输入输出
标准库提供了一组丰富的输入输出
stdio 编程中最基本和最常见的io
i/o发生在流中,流是字节序列
stream bytes sequence;
字节序列 io发生在流中 流是字节序列
如果
如果字节流是从设备流向内存 键盘 磁盘 网络连接
字节流从设备 键盘 磁盘驱动器 网络连接等 流向内存;
输出操作
s输入输出 是 内存与设备之间的字节序列流之间的流向
字节流从内存流向设备(显示屏,打印机,磁盘驱动器,网络连接);

i/o裤头文件

<iostream> cin cout cerr clog对象 分别对应于标准输入流 标准输出流 非缓冲标准错误流 缓冲标准错误流
cin cout cerr clog cin >> cout <<
非缓冲标准错误流 cerr
clog
缓冲标准错误流
iostream
cin cout cerr clog;
对应
cerr 非缓冲标准错误流
Clog 缓冲标准错误流;
iostream

iomanip
文件通过所谓的参数化的流操作器(setw和setprecision)申明对执行标准化io有用的服务

文件通过所谓的参数化的流操纵器
iomanip文件通过所谓的参数化的流操纵器 (setw setprecision) 来申明对标准化io有用的服务
iomanip
fstream 文件为用户控制的文件处理申明服务 我们将在文件和流的相关章节讨论细节;
文件为用户控制的文件处理申明服务
文件和流的相关章节讨论细节;
fstream
通过所谓的参数化的流操纵器setw setprecision;
字节流从设备 键盘磁盘驱动器 网络连接 流向内存
<<运算符被重载来输出内置类型
整型 浮点 double 字符串 指针
流提取运算符
流插入
标准输入预定义的对象cin是istream类的一个实例 cin对象附属到标准输入设备通常是键盘 cin是
与流提取运算符>>集合使用

标准输出流cout 预定义的对象
标准输出流cout
预定义的对象cout是ostream类的一个实例 cout对象连接到标准输出设备
cout 对象连接到标准输出设备,对象连接到标准输出设备 显示屏

输出cout cout对象连接到标准输出设备-显示屏
cout与流插入运算符<<结合使用
<< 流插入运算符 cout对象连接标准输出设备 显示屏

对象附属到标准输入设备 键盘cin是流提取运算符 >> 集合使用

cout对象 连接到标准输出设备-显示屏
cin对象 负数到标准输入设备-键盘 cin是流提取运算符 >> 结合
cerr对象附属到标准错误设备-标准错误设备-显示屏 cerr对象是非缓冲的 每个流插入到cerr都会立即输出;
cerr与流插入运算符<<结合使用

cout << 流插入运算符
cout >> 流提取运算符;
cin对象附属到标准输入设备 通常键盘 cin >> 与流提取运算符 >> 结合使用;
预定义的对象 ostream 类的实例; clog对象附属到标准错误设备 clog对象是缓冲的
意味着每个流插入到clog都会先存储在缓冲
每个流插入到Clog会先 存储在缓冲 直到缓冲填满或者缓冲区刷新区才会输出;

cerr流显示错误消息,其它的 日志消息使用clog流来输出;
dataStruct数组允许定义可存储相同类型数据项的变量
可存储相同类型数据项的变量
数据结构是用户自定义的可用的数据类型 允许存储不同类型的数据项
结构用于表示一条记录,假设跟踪图书馆中书本的动态,可能需要跟踪每本书的下列属性
Title
Author
Subject
Book ID

struct语句定义了一个包含多个成员的新的数据类型
struct type_name
{
member_type1 member_name1;
member_type2 member_name2;
member_type3 member_name3;
} object_names;

struct Books
{
char title[50];
char author[50];
char subject[100];
int book_id;
} book;
成员访问运算符是结构变量名称和我们要访问的结构成员之间的一个句号
typedef long int *pint32;
pint32 x,y,z;
typedef struct
{
char title[50];
char author[50];
char subject[100];
int book_id;
} Books; Books 是自定义的数据的别名 ,即是数据类型别名 是数据类型 不是数据类型下的变量;

函数返回引用时,则返回一个指向返回值的隐
所有指针的值的实际数据类型,
指针值的实际数据类型 都是一样,都是一个代表内存地址的长的十六进制数
不同数据类型指针之间唯一的不同是 指针指向的变量或常量的数据类型
C++中使用指针时频繁进行的操作,定义一个指针变量,把变量地址赋值给指针,访问指针变量中可用地址的值;
返回位于操作数所指定地址的变量的值
定义一个指针变量,把变量地址赋值给指针,访问指针变量中存储可用地址的值;
通过使用一元运算符*来返回位于操作数所指定地址的变量的值;

指针包含变量地址,指向指针的指针,第一个包含了第二个指针的地址 ,第二个指针指向包含实际值的位置;
指向int类型的指针的指针;
int **var;

目录
相关文章
|
8天前
|
NoSQL Cloud Native Redis
Redis核心开发者的新征程:阿里云与Valkey社区的技术融合与创新
阿里云瑶池数据库团队后续将持续参与Valkey社区,如过往在Redis社区一样耕耘,为开源社区作出持续贡献。
Redis核心开发者的新征程:阿里云与Valkey社区的技术融合与创新
|
8天前
|
关系型数据库 分布式数据库 数据库
PolarDB闪电助攻,《香肠派对》百亿好友关系实现毫秒级查询
PolarDB分布式版助力《香肠派对》实现百亿好友关系20万QPS的毫秒级查询。
PolarDB闪电助攻,《香肠派对》百亿好友关系实现毫秒级查询
|
9天前
|
消息中间件 Cloud Native Serverless
RocketMQ 事件驱动:云时代的事件驱动有啥不同?
本文深入探讨了云时代 EDA 的新内涵及它在云时代再次流行的主要驱动力,包括技术驱动力和商业驱动力,随后重点介绍了 RocketMQ 5.0 推出的子产品 EventBridge,并通过几个云时代事件驱动的典型案例,进一步叙述了云时代事件驱动的常见场景和最佳实践。
115105 1
|
10天前
|
弹性计算 安全 API
访问控制(RAM)|云上安全使用AccessKey的最佳实践
集中管控AK/SK的生命周期,可以极大降低AK/SK管理和使用成本,同时通过加密和轮转的方式,保证AK/SK的安全使用,本次分享为您介绍产品原理,以及具体的使用步骤。
101872 3
|
6天前
|
物联网 PyTorch 测试技术
手把手教你捏一个自己的Agent
Modelscope AgentFabric是一个基于ModelScope-Agent的交互式智能体应用,用于方便地创建针对各种现实应用量身定制智能体,目前已经在生产级别落地。
|
9天前
|
自然语言处理 Cloud Native Serverless
通义灵码牵手阿里云函数计算 FC ,打造智能编码新体验
近日,通义灵码正式进驻函数计算 FC WebIDE,让使用函数计算产品的开发者在其熟悉的云端集成开发环境中,无需再次登录即可使用通义灵码的智能编程能力,实现开发效率与代码质量的双重提升。
95445 3
|
1天前
|
机器人 Linux API
基于Ollama+AnythingLLM轻松打造本地大模型知识库
Ollama是开源工具,简化了在本地运行大型语言模型(ile优化模型运行,支持GPU使用和热加载。它轻量、易用,可在Mac和Linux上通过Docker快速部署。AnythingLLM是Mintplex Labs的文档聊天机器人,支持多用户、多种文档格式,提供对话和查询模式,内置向量数据库,可高效管理大模型和文档。它也是开源的,能与Ollama结合使用,提供安全、低成本的LLM体验。这两款工具旨在促进本地高效利用和管理LLMs。
34367 18
|
1天前
|
人工智能 自然语言处理 API
Claude3是什么?
Claude 3最近备受各大媒体瞩目,成为了AI领域备受关注的新宠。在ChatGPT推出更高版本之前,Claude 3已经被公认为是语言类AI工具中的佼佼者,特别在处理逻辑性和长篇上下文方面表现突出。然而,与此同时,Claude 3的注册流程也备受诟病,被认为是所有AI工具中最为复杂的之一。 这篇内容教大家 注册Claude 3 以及升级 教程。
13673 1
Claude3是什么?
|
2天前
|
NoSQL Java Redis
使用Redis实例搭建网上商城的商品相关性分析程序
本教程将指导您如何快速创建实例并搭建网上商城的商品相关性分析程序。(ApsaraDB for Redis)是兼容开源Redis协议标准的数据库服务,基于双机热备架构及集群架构,可满足高吞吐、低延迟及弹性变配等业务需求。
17120 0
Doodle Jump — 使用Flutter&Flame开发游戏真不错!
用Flutter&Flame开发游戏是一种什么体验?最近网上冲浪的时候,我偶然发现了一个国外的游戏网站,类似于国内的4399。在浏览时,我遇到了一款经典的小游戏:Doodle Jump...
112772 12