首页 > 编程 > C > 正文

C语言将日期、时间保存到文本文件中的方法

2020-01-26 13:29:45
字体:
来源:转载
供稿:网友

前言

今天突然兴起,看来一下C语言的文件操作,以前在学习的时候,总是一带而过,觉得没有什么用处;但是现在看来,还真的没有什么用处,最后,我现在还有用到,当然这只是我的个人认为,并不能说明什么,在此我将自己写的一段代码附上,希望能和大家一同学习

1、打开一个文本文件

 FILE *fopen( const char * filename, const char * mode );
 linux文件路径: linux:fopen("/tmp/test.txt", "w+");  windows文件路径: windows:fopen("E:/Desktop/cyuyan_sz/vs2010/one/jiguoti/temp/a.txt","w+");

模式:

如果处理的是二进制文件,则需使用下面的访问模式来取代上面的访问模式:

"rb", "wb", "ab", "rb+", "r+b", "wb+", "w+b", "ab+", "a+b"、 

2、写入文件

int fputc( int c, FILE *fp );

c:写入的字符    fp:打开的文件流

3、读取文件

int fgetc( FILE * fp );

fgetc() 函数从 fp 所指向的输入文件中读取一个字符。返回值是读取的字符,如果发生错误则返回 EOF。下面的函数允许您从流中读取一个字符串

char *fgets( char *buf, int n, FILE *fp );

函数 fgets() 从 fp 所指向的输入流中读取 n - 1 个字符。它会把读取的字符串复制到缓冲区 buf,并在最后追加一个 null 字符来终止字符串。

如果这个函数在读取最后一个字符之前就遇到一个换行符 '/n' 或文件的末尾 EOF,则只会返回读取到的字符,包括换行符。您也可以使用 int fscanf(FILE *fp, const char *format, ...) 函数来从文件中读取字符串,但是在遇到第一个空格字符时,它会停止读取。 

4、关闭文件

fclose( FILE *fp );
#include <stdio.h>#include <string.h>int main(){ FILE *fp = NULL; fp = fopen("E:/Desktop/cyuyan_sz/vs2010/one/jiguoti/temp/a.txt","w+"); fprintf(fp,"hello word....../n"); fputs("hello word....../n",fp); fclose(fp); getchar(); return 0;}

所示代码运行结果为:

下面进入正题:

如何将日期、时间存储到记事本文件中,

1、如何获取日期、时间(time.h)

2、如何保存

/*vs2010在编译生成程序之后,dos界面会出现闪退的情况,解决办法:1.在源程序后面添加getchar();2.添加头文件#include之后在main函数结尾前写上system("pause");*/#include <stdio.h>#include <string.h>#include <time.h>#include <Windows.h>int main(){ FILE *fp = NULL; char *s="adasdsadasd"; time_t timep; struct tm *p; fp = fopen("E:/Desktop/cyuyan_sz/vs2010/one/jiguoti/temp/a.txt","a");  while(1) {  time(&timep);  p=gmtime(&timep);   fputs("日期:",fp);  fprintf(fp,"%d",p->tm_year+1900); //获取年  fputs(":",fp);  fprintf(fp,"%d",p->tm_mon+1);  //获取月  fputs(":",fp);  fprintf(fp,"%d",p->tm_mday);  //获取日  fputs("  ",fp);  fputs("时间:",fp);  fprintf(fp,"%d",p->tm_hour+8);  //获取时  fputs(":",fp);  fprintf(fp,"%d",p->tm_min);   //获取分  fputs(":",fp);  fprintf(fp,"%d",p->tm_sec);   //获取秒  fputs("  ",fp);  fputs("今天是今年的第 ",fp);  fprintf(fp,"%d",p->tm_yday);  //获取今年的第几天  fputs(" 天/n",fp); //换行    fputs("/r/n",fp);  Sleep(1000); //1s保存一次 } fclose(fp); getchar(); return 0;}

运行结果如下:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对武林网的支持。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选