博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ctime 写到文件
阅读量:5014 次
发布时间:2019-06-12

本文共 1786 字,大约阅读时间需要 5 分钟。

实现:

定义一个buf,先把用ctime函数得到的日历时间放到buf中,再fwrite到文件1。然后关闭文件,再以只读打开,把文件1内容fread到buf2内。最后把buf2中日历时间显示到终端。

 

源代码:

1 #include 
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 9 int main(int argc, char *argv[]){10 time_t t;//必须定义一个时间变量,然后取到个地址。不能time_t * p_t;11 char *t_ctime;12 char buf[25] = "\0";13 char buf2[25] = "\0";14 int ret_fwrite;15 int ret_fread;16 FILE *fp_write;17 FILE *fp_read;18 int i;19 20 if(2 != argc){21 printf("%s
",argv[1]);22 exit(1);23 }24 for(i = 0;i < 3;i++){25 //打开文件26 fp_write = fopen(argv[1],"a");//追加写27 if(fp_write == NULL){28 perror("fopen file1 no ok!\n");29 exit(1);30 }31 32 //得到时间33 time(&t);//秒时间34 t_ctime = ctime(&t);//日历时间35 strcpy(buf,ctime(&t));//日历时间复制到buf36 printf("buf's time data:\n");37 fwrite(buf,sizeof(char),25,stdout);//法1,buf写到终端38 // fputs(buf,stdout);//法2,buf写到终端39 // printf("%s",buf);//法3,buf写到终端40 41 //写文件142 ret_fwrite = fwrite(buf,sizeof(char),25,fp_write);//把buf内容写到文件143 if(ret_fwrite == 0){44 perror("fwrite file1 no ok!");45 exit(1);46 }47 fclose(fp_write);//关闭文件148 49 //读文件150 fp_read = fopen(argv[1],"r");//只读打开51 ret_fread = fread(buf2,sizeof(char),25,fp_read);52 printf("buf2's time data:\n");53 fputs(buf2,stdout);//读buf2到终端54 printf("\n");55 sleep(1);56 }57 return 0;58 }
View Code

 

shell显示:

 

补充:

1、关于定义buf时,注意要保证buf为空。实现方法有

法一,通过初始化清空:char buf[25] = {'\0'} 或"\0"
法二,通过bzero(buf,size)清空,此时要包含<strings.h>
法三,通过每次strlen(buf)写入文件1的长度来传数据。
法四,令size = 1(效率低)

2、在while(1)循环显示下,若不加sleep(1)延时1s的话,会导致:fopen file1 no ok! :Too many open files

可能因为文件打开输入太快,导致出错。

3、源代码中定义buf长度为25,是因为日历时间一条长度为25。当然可以定义数组大于25,但我想提醒自己注意这个长度。

转载于:https://www.cnblogs.com/KevinWong777/p/6308808.html

你可能感兴趣的文章
Redis
查看>>
字段和属性的区别
查看>>
HTTP(一)工作机制
查看>>
条形码扫描枪数据读取的问题
查看>>
$this->autoRender = false
查看>>
健壮的 Java 基准测试
查看>>
phpstorm查看类的继承关系
查看>>
git create clone(仓库)
查看>>
chmod修改文件权限的命令
查看>>
新博客牵至简书
查看>>
矩阵求逆
查看>>
在 Windows 8、Windows 10 桌面模式下的 .NET Framework 程序中,引用 Windows.Runtime 的 API。...
查看>>
2015 8月24号 工作计划与实行
查看>>
MVC AJAX
查看>>
Google Map API V3开发(6) 代码
查看>>
Kafka初入门简单配置与使用
查看>>
第三章Git使用入门
查看>>
Amd,Cmd, Commonjs, ES6 import/export的异同点
查看>>
cocos2dx-Lua与Java通讯机制
查看>>
上下文管理器之__enter__和__exit__
查看>>