字符读写函数: fgetc / fputc
字符串读写函数:fputs / fgets
格式化读写函数:fscanf / fprintf
二进制读写函数:fread / fwrite
其他相关函数:
检测文件结尾函数feof
检测文件读写出错函数ferror
清除末尾标志和出错标志函数clearerr
文件定位的函数fseek
字符读写函数fgetc和fputc
while( !feof( fp1 ) ){ c = fgetc( fp1 ); fputc(c, fp2); }
函数fputc( )
fputc(ch, fp);
把一个字符 ch 写到 fp 所指示的磁盘文件上
返回值
-1 (EOF):写文件失败
ch:写文件成功
函数fgetc( )
ch = fgetc( fp ) ;
从fp所指示的磁盘文件上读入一个字符到ch
区分键盘字符输入函数getchar( )
例题一
从键盘输入10个字符,写到文件 f2.txt 中,再重新读出,并在屏幕上显示验证。
键盘输入 写入文件 f2.txt 读文件 屏幕显示的过程
键盘输入 f2.txt时,文件按写方式打开。
f2.txt 显示到屏幕时,文件按读方式打开。
读和写是两种不同的操作, f2.txt 分别被打开和关闭两次。
int main(void) { int i; char ch; FILE *fp; if((fp=fopen("f2.txt","w")) == NULL){ /* 打开文件f2.txt */ printf("File open error! "); exit(0); } for(i = 0; i < 10; i++){ /* 写文件10次 */ ch = getchar(); fputc(ch, fp) ; } if(fclose(fp)){ /* 关闭文件 */ printf("Can not close the file! " ); exit(0); } if((fp=fopen("f2.txt","r")) == NULL){ /* 打开文件f2.txt */ printf("File open error! "); exit(0); } for(i = 0; i < 10; i++){ /* 读文件10次 */ ch = fgetc(fp); putchar(ch); } if(fclose(fp)){ /* 再次关闭文件 */ printf("Can not close the file! "); exit(0); } return 0; }