在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