练习打开文件,关闭文件,一个一个的读写,一行一行的读写(文本操作)
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 }