ANSI库续(时间函数)与文件操作初识

C/C++学习笔记之十一

        上一节我们讲到了头文件stdlib.h与头文件stdio.h中的sscanf、sprintf、rand、srand函数,这一节将继续讨论时间相关函数和文件操作。

时间函数的头文件是#include<time.h>

time_t类型:是一个整数,可以强制转换为int来打印;(与编辑器有关,通常为32位或64位整数)。

例:time_t now1=time(NULL);
tm now=*localtime(&now1);
int year=now.tm_year+1900;//?从1900年开始计算
int month=now.tm_mon+1;//?从0开始
int day=now.tm_mday;
printf("%d年\t%d月\t%d日\n",year,month,day);//其中localtime()为返回tm指针型变量;

tm为结构体类型;结果为:2016年4月7日;

实例:300天后的日期;

time_t now=time(NULL);

now+=300*24*3600;//每次相隔是秒数

tm info=*localtime(&now);//保存的结果

//再次调用后即可输出300天后的日期。

注:localtime是将time_t类型转换为tm型。

下面我们考虑一下如何逆向转换(tm型转换成time_t型)。

time_t converse(int year,int mon,int day,int hour,int min,int sec){
  tm info={0};//结构内部信息为0
  info.tm_year=year-1900;//反向操作
  info.tm_mon=mon-1;//反向操作
  info.tm_mday=day;//
  info.tm_hour=hour;
  info.tm_min=min;
  info.tm_sec=sec;
  time_t t=mktime(&info);
  return t;
}//只需要在结构体中储存6位即可。mktime()将tm型转换为time_t型//"年月日时分秒"=》传递给time_t型;

注:mktime()与localtime参数都是指针类型。



文件操作包括了创建文件、写入文件以及读取文件文件等。本节简要介绍创建文件与写入文件;

例子:

#include<stdio.h>
#include <stdlib.h>
int main(){
const char *filename="F:/HelloWorld.txt";//定义文件名
FILE *fp=fopen(filename,"wb");//指定文件类型为写
if(fp==NULL){
printf("Cannot open this file!");
return -1;
}//创建文本文件
//返回值为字节
char buff[]="Hello,World!";
int n=fwrite(buff,1,12,fp);//从第一个字节开始,到第12个字节结束!由buff缓冲区写入到文件中
int x=0x123456789;
fwrite(&x,1,4,fp);
printf("n=%d\t",n);
fclose(fp);
system("pause");
return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值