文件讀寫函數
阿新 • • 發佈:2017-11-05
文件結尾 fgetc seek cnblogs eof get close class 再次
字符讀寫函數: 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!\n"); exit(0); } for(i = 0; i < 10; i++){ /* 寫文件10次 */ ch = getchar(); fputc(ch, fp) ; } if(fclose(fp)){ /* 關閉文件 */ printf("Can not close the file!\n" ); exit(0); }if((fp=fopen("f2.txt","r")) == NULL){ /* 打開文件f2.txt */ printf("File open error!\n"); exit(0); } for(i = 0; i < 10; i++){ /* 讀文件10次 */ ch = fgetc(fp); putchar(ch); } if(fclose(fp)){ /* 再次關閉文件 */ printf("Can not close the file!\n"); exit(0); } return 0; }
文件讀寫函數