Linux C文件操作(一)

来源:互联网 发布:淘宝美式画 编辑:程序博客网 时间:2024/05/17 00:59

在Linux C 文件操作学习当中,对常用函数做的学习记录:

1.creat

 函数的作用: 创建一个文件;
 函数的原型: int  creat(const char *pathname, mode_t mode);
 文件头: #include <sys/types.h>
          #include <sys/stat.h>
              #include <fcntl.h>
 返回值:成功:新的文件描述符;
           出错:  -1
         
     创建几个函数:file_creat.c的函数的编写;
     
2. open
函数的作用:打开一个文件;
函数的原型:int  open(const char *pahtname, int flags);
int  open(const char *pahtname, int flags, mode_t mode);
返回值:文件描述符---成功;出错:-1;

参数: flags:

O_RDONLY
  O_WRONLY;
O_RDWR;
    O_CREAT:  如果原来折耳根文件不存在,那么有这个参数就可以创建这个文件;
    O_APPEND:原来有内容,则会自动保留文件内容,自动向下读写;
    O_TRUNC:  文件存在,有内容,文件清空;
    
 
 3. read
 函数的作用: 从打开的文件中读取数据
 函数的原型:ssize_t  read(int fd, void *buf,  size_t count);
 包含的头文件: #include  <unistd.h>
  
返回值:正常是实际读到的字节数;
        如果是在文件结束或者是无数据,返回0;

        出错,返回-1;


 4. write
 函数的作用: 向打开的文件中写数据
 函数的原型: ssize_t   write(int fd, const void *buf, size_t count);
 头文件:  #include <unistd.h>
    
 返回值:  成功:返回实际写入的字节数;
             出错:返回-1;
          
5. lseek
函数的功能:进行文件定位
函数的原型:  int lseek(int fd, offset_t  offset, int whence);
函数的参数:fd:
            offset: 指针的微调,在指定的指针向前移动为负, 向后为正;
            whence:  SEEK_SET:放在文件头
            SEEK_CUR:当前的位置;
            SEEK_END:  文件尾;
             
  返回值:返回文件当前指针到文件开始的地方有多少字节;
    出错返回-1;
 
6. fopen
函数的作用: 打开文件
函数的原型: FILE *fopen(const char *pth, const char *mode)
   mode:
  r:读,文件必须存在;
    r+:打开可读写,文件必须存在;
    w:打开只写文件,文件不存在就会创建文件; 文件清0;
    w+:打开可读写的文件,
    a:附加的形式打开只写文件,不存在就创建,存在就写到原来的文件尾。
  a+:以附加的形式打开可读写的文件,不存在就创建,存在就写到原来的文件尾。
    b:二进制文件
   
 文件头: #include <stdio.h>      #include  "  "
 返回值:  成功 是指向=文件流的指针;

             出错 返回NULL;

     

 7. fputc 
 函数的作用:  将一个指定的字符写入到文件流中;
 函数的原型:  int fputc(int c, FILE *stream);

 返回值:   返回写入成功的字符,c;  

     EOF则表示失败。

 
 8.fgetc
 函数的作用:从文件流中读取一个字符
 函数原型: int fgetc(FILE *stream)
 返回值:返回值正常的是读取的字符;EOF表示到了文件尾;
 
 9.fputs
 函数的作用:将一个字符串写入到文件内
 函数的原型: int fputs(const char *s, FILE *stream)

 返回值:成功返回写成字符数; EOF表示出错


10. fgets
 函数的作用:从文件中读取一个字符串;
 函数的原型: char *fgets(char *s, int size,  FILE *steam)
 函数的参数:
  从stream中读size-1个字符到s中

 返回值: 成功返回s,

  出错NULL。

 
11. fread
函数的作用:从文件流中读取数据块
函数原型:  size_t  fread(void *ptr,  size_t size, size_t  nmemb, FILE * stream);
返回值: 返回实际读到数据块的数目
        比nmember小的话,可能是到了文件尾,或者错误发生。
        feof :到文件尾;

        ferror:判断错误的


12.  fwrite
函数的作用: 将数据块写到文件流中:
函数原型:  size_t  fwrite(const void * ptr,  size_t size,  size_t nmemb,  FILE *stream);
返回值: 实际写入的nmemb数目;


13.fseek
函数的作用:移动文件流的读写位置
函数的原型: int fseek(FILE * stream, long offset, int whence)

返回值:成功返回0, 

出错-1;


****使用ftell来获取当前的位置;
14. ftell
函数的作用:读取文件流的读写位置;
函数的原型:long ftell(FILE * stream)
返回值: 成功返回当前的读写位置;
           出错-1;
         
15. feof
函数的作用: 检测文件流是否到了文件尾
函数的原型:int feof(FILE *steam)
返回值:  非零代表到了文件尾,其他是0;


16. fprintf
函数的作用:格式化数据到文件
函数的原型: int fprintf(FILE *stream, const char *format, ....);
返回值:成功返回实际输入的字符数,失败-1;


11. fscanf
函数的作用: 格式化字符串输入
函数的原型: int fscanf(FILE *strem, const char *fromat,....)
返回值:成功返回参数数目,出错-1
0 0
原创粉丝点击