实现内容:
调用时间函数ctime,获得操作系统时间(ubuntu)。每秒一次输出到文件1和终端shell上。由于buf输出到文件1中为全缓存方式,故需要加入flush强制刷新文件1的流。
源代码:
1 #include <stdio.h> 2 #include <time.h> 3 #include <stdlib.h> 4 #include <strings.h> 5 #include <string.h> 6 #include <unistd.h> 7 8 9 int main(int argc,char *argv[]){ 10 FILE *fp; 11 time_t t; 12 char buf[25]; 13 int i; 14 15 //shell输入file1文件名 16 if(argc != 2){ 17 fprintf(stdout,"%s <file1?>",argv[0]); 18 exit(1); 19 } 20 //追加写文件 21 fp = fopen(argv[1],"w"); 22 if(fp == NULL){ 23 perror("fopen file1 no ok"); 24 exit(1); 25 } 26 //日历时间 27 time(&t); 28 printf("%d\n",strlen(ctime(&t)));//测一条日历时间长度为25 29 for(i = 0;i < 3;i++){ 30 bzero(buf,25);//清空buf 31 strcpy(buf,ctime(&t)); 32 fprintf(fp,"%s",buf);//输出到文件 33 fputs(buf,stdout);//输出到终端 34 fflush(fp);//若不flush则缓存区满才传输到文件 35 sleep(1); 36 } 37 fclose(fp); 38 return 0; 39 }
shell显示:
原文:http://www.cnblogs.com/KevinWong777/p/6308721.html