1 #include <stdio.h>
2 /*
3 文件练习打开文件,关闭文件,一个字符一个字符的读写文件,一行一样的读写文件,文本操作
4 */
5 //从后往前写入文件
6 void WriteData(FILE * fpw1)
7 {
8 char *p[] = {"123456","789","zhangyong"};
9 int len = sizeof(p)/4;
10 while(len)
11 {
12 fputs(p[len-1],fpw1);
13 len--;
14 }
15 }
16 //从前往后写入文件
17 void WriteData2(FILE * fpw2)
18 {
19 char *p[] = {"123456","789","zhangyong"};
20 int len = sizeof(p)/4;
21 for(int i = 0;i<len;i++)
22 fputs(p[i],fpw2);
23 }
24 int main(void)
25 {
26 //创建文本文件并且打开,打开方式,读写"w+",一个字符一个字符的写入数据
27 FILE * fpw = fopen("文件练习打开文件,关闭文件,一个字符一个字符的读写文件,一行一样的读写文件,文本操作.txt","w+");
28 if(NULL == fpw)
29 return -1;
30 for(char ch = 'a';ch<= 'z';ch++)
31 fputc(ch,fpw);
32 fclose(fpw);
33 //读取写入文件的数据,打开方式,只读"r",一个字符一个字符的读取
34 FILE * fpr = fopen("文件练习打开文件,关闭文件,一个字符一个字符的读写文件,一行一样的读写文件,文本操作.txt","r");
35 if(NULL == fpr)
36 return -1;
37 while((ch = fgetc(fpr)) != EOF)
38 {
39 printf("%c",ch);
40 }
41 putchar(10);
42 fclose(fpr);
43 //创建文本文件,并且打开,一行一行的写入数据。打开方式 "w+"
44 FILE * fpw1 = fopen("一行一行的写.txt","w+");
45 WriteData(fpw1);
46 FILE * fpw2 = fopen("一行一行的写1.txt","w+");
47 WriteData2(fpw2);
48 //读取写入文件的数据.一行一行的读取文件
49 rewind(fpw1);//写入文件不关闭,需要将指针重新指向文件开始位置。
50 rewind(fpw2);
51 char buf[1024];
52 printf("一行一行的写.txt文本内容\n");
53 while(fgets(buf,1024,fpw1))
54 printf("%s\n",buf);
55 printf("一行一行的写1.txt文本内容\n");
56 while(fgets(buf,1024,fpw2))
57 printf("%s\n",buf);
58
59 fclose(fpw1);
60 fclose(fpw2);
61 return 0;
62 }