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  文件指针

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