文件读写函数

字符读写函数:    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;
}

 

posted @ 2017-11-05 21:51  不负、  阅读(1133)  评论(0编辑  收藏  举报