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

1、打开一个文本文件

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

模式:

C语言实现将日期、时间保存到文本文件中-LMLPHP

如果处理的是二进制文件,则需使用下面的访问模式来取代上面的访问模式:
"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 );
 
 1 #include <stdio.h>
 2 #include <string.h>
 3 int main()
 4 {
 5     FILE *fp = NULL;
 6     fp = fopen("E:/Desktop/cyuyan_sz/vs2010/one/jiguoti/temp/a.txt","w+");
 7     fprintf(fp,"hello word......\n");
 8     fputs("hello word......\n",fp);
 9     fclose(fp);
10     getchar();
11     return 0;
12 }

所示代码运行结果为:

C语言实现将日期、时间保存到文本文件中-LMLPHP

下面进入正题:

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

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

2、如何保存

 1 /*
 2 vs2010在编译生成程序之后,dos界面会出现闪退的情况,
 3 解决办法:
 4 1.在源程序后面添加getchar();
 5 2.添加头文件#include之后在main函数结尾前写上system("pause");
 6 */
 7 #include <stdio.h>
 8 #include <string.h>
 9 #include <time.h>
10 #include <Windows.h>
11
12 int main()
13 {
14     FILE *fp = NULL;
15     char *s="adasdsadasd";
16     time_t timep;
17     struct tm *p;
18     fp = fopen("E:/Desktop/cyuyan_sz/vs2010/one/jiguoti/temp/a.txt","a");
19
20     while(1)
21     {
22         time(&timep);
23         p=gmtime(&timep);
24
25         fputs("日期:",fp);
26         fprintf(fp,"%d",p->tm_year+1900);    //获取年
27         fputs(":",fp);
28         fprintf(fp,"%d",p->tm_mon+1);        //获取月
29         fputs(":",fp);
30         fprintf(fp,"%d",p->tm_mday);        //获取日
31
32         fputs("      ",fp);
33         fputs("时间:",fp);
34         fprintf(fp,"%d",p->tm_hour+8);        //获取时
35         fputs(":",fp);
36         fprintf(fp,"%d",p->tm_min);            //获取分
37         fputs(":",fp);
38         fprintf(fp,"%d",p->tm_sec);            //获取秒
39
40         fputs("      ",fp);
41         fputs("今天是今年的第 ",fp);
42         fprintf(fp,"%d",p->tm_yday);        //获取今年的第几天
43         fputs(" 天\n",fp);    //换行
44
45         fputs("\r\n",fp);
46         Sleep(1000);    //1s保存一次
47     }
48     fclose(fp);
49     getchar();
50     return 0;
51 }

运行结果如下:

C语言实现将日期、时间保存到文本文件中-LMLPHP

 有问题可在下方评论,希望能共同学习

04-03 08:42