C語言文件操作

文件指針類型符:FILE   例如:  FILE  *fp;

5個標準文件

             stdin(標準輸入【鍵盤】)、

            stdout(標準輸出【顯示器】)、

             stdaux(標準輔助輸入輸出【異步串行口】)

             stdprn(標準打印機)

            stderr(標準錯誤輸出【顯示器】)

兩個文件判斷函數

           ferror()   判斷操作錯誤

           feof()          判斷文件末尾 

1、打開文件:

 

FILE  * fopen(char * filename,char  *mode);-------------------->FILE  * fopen('"文件路徑","打開方式");

   打開方式有:r----只讀,爲只讀打開一個字符文件

                        w----只寫  爲只寫打開一個字符文件,文件指針指向文件首部

                        a-----追加  打開一個字符文件,指向文件尾部,在已經存在的文件中追加數據

                        rb---只讀  爲只讀打開一個二進制文件

                        wb---只寫 爲只寫打開一個二進制文件     

                        ab--追加 打開文件一向文件追加數據

2、關閉文件

       fclose(FILE * file)   --------------------------   fclose(要關閉的文件指針) 

       fcloseall()                                  ------------關閉所有打開的文件

 

注意:exit()隸屬於stdlib.h庫

3、文件讀取和寫入。

     int  fgetc(FILE * filename)                         讀寫一個字符    

     int fputc(int ch  ,FILE  * filename)           向磁盤文件寫入一個字符,執行成功,返回寫入的字符,否則返回EOF

    char * fgets(char *str, int  n,FILE *filename)    從filename指向的文件中讀取n-1個字符,把他送到str指向的字符數組

    char * fputs(char *str,FILE * filename)             把緩衝區str中得字符串寫入到filename指定的文件中            

    fscanf(FILE *filename   ,char *format,<variable-list>)    

                                                例如fscanf(fp,"%s%d%f",&a,&b,&c)  安%s,%d,%f的格式從fp指向的文件讀取數據分別送往a,b,c

    fprintf(FILE *filename   ,char *format,<variable-list>)     

                                             例如:fprintf(fp,"%s,%d%f",a,b,c),將變量 a,b,c內容以%s,%d,%f方式寫入fp指向的文件       

4、文件定位

      int fseek(FILE *filename  long offset,int origin)     將文件指針移到到制定的爲止,  origin基準位置,offset爲位移量,執行成功則返回0

                                                 origin位置可取一下三個值

                                                           SEEK_SET               0                     文件開頭

                                                           SEEK_CUR              1                     文件指針當前位置

                                                            SEEK_END              2                   文件尾部

      int ftell(FILE* filename);             返回指針在當前文件中相對於文件頭的偏移量,若調用出錯返回-1

      int  rewind(FILE *filename)              用於把指針移動到當前文件頭

5、文件隨機讀寫函數

         int fread(void * ptr,int size,int count,FILE* filename)     

         int fwrite(void * ptr,int size,int count,FILE* filename) 

                        ptr    指向緩衝區

                        count  爲數據項

                        size     每個數據項項長度爲size  

                        filename  文件指針

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章