[day06]文件部分操作
文件操作相关函数解释(就随便记录几个函数吧)
1.fopen |
函数原型:FILE * fopen(const char * path,const char * mode); |
返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno 中。 |
mode参数取值: r 以只读方式打开文件,该文件必须存在。 R+ 以可读写方式打开文件,该文件必须存在。 Rb+ 读写打开一个二进制文件,允许读写数据,文件必须存在。 W 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。 W+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。 A 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留) a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留) wb 只写打开或新建一个二进制文件;只允许写数据。 Wb+ 读写打开或建立一个二进制文件,允许读和写。 Ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。 |
2. fclose |
函数原型:int fclose(FILE *stream); |
返回值:如果流成功关闭,fclose 返回 0,否则返回EOF(-1)。 |
3.fgetc |
函数原型:int fgetc(FILE *stream); |
返回值:返回所读取的一个字节。如果读到文件末尾或者读取出错时返回EOF。 |
4.fputc |
函数原型:int fputc (char c, File *fp); |
返回值:在正常调用情况下,函数返回读取字符的ASCII码值,出错时,返回EOF(-1)。当正确写入一个字符或一个字节的数据后,文件内部写指针会自动后移一个字节的位置。 |
5.fgets |
函数原型:char *fgets(char *buf, int bufsize, FILE *stream); |
返回值: 1.成功,则返回第一个参数buf; 2.在读字符时遇到end-of-file,则eof指示器被设置,如果还没读入任何字符就遇到这种情况,则buf保持原来的内容,返回NULL; 3.如果发生读入错误,error指示器被设置,返回NULL,buf的值可能被改变。 |
6.fputs |
函数原型:int fputs(const char *str, FILE *fp); |
返回值: 成功写入一个字符串后,文件的位置指针会自动后移,函数返回为一个非负整数;否则返回EOF(符号常量,其值为-1)。 |
7.fread |
函数原型:size_t fread ( void *buffer, size_t size, size_t count, FILE *stream) ; |
返回值: 如果返回值与count不相同,则可能文件结尾或发生错误。从ferror和feof获取错误信息或检测是否到达文件结尾。 |
8.fwrite |
函数原型:size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream); |
返回值: 返回实际写入的数据项个数count。 |