[知识复习] C语言文件读写

文件打开

fopen()

返回FILE* 对象,如果打开失败返回NULL,错误代码存入errno中

FILE *fopen( const char * filename, const char * mode ); //FILE文件型,int整型

申明FILE* stream_1,stream_2 //两个文件流

stream_1 = fopen("C:\Users\greenhat\Desktop\文档\test1.txt", "r+");//一般方式fopen(目录,操作)
errno_t err = fopen_s (&stream_2,"C:\Users\greenhat\Desktop\文档\test2.txt", "r+");//安全方式fopen_s(文件对象,目录,操作)

//注明:

”r+”打开读写文件。”r”打开只读文件。//文件必须存在

w+”打开读写文件。”w”打开只写文件。//文件不存在自动建立。文件存在 自动覆盖    [常用]

a+”打开读写文件(以附加的方式)。//文件不存在自动建立。文件存在 数据加到文件尾部  [常用]

“a”打开只写文件(以附加的方式)。//文件不存在自动建立。文件存在 数据加到文件尾部

文件关闭

fclose()

返回0(关闭成功)或返回EOF(发生错误)//EOF为-1

int fclose( FILE *fp );

文件写入

fputc()

把参数c的字符值写入到fp所指向的输出流中

返回写入的字符(写入成功)或返回EOF(发生错误)

int fputc( int c, FILE *fp );

fputs()
字符串s写入到fp所指向的输出流中
返回一个非负值(写入成功)或返回EOF(发生错误)
int fputs( const char *s, FILE *fp );
 
fprintf()
把一个字符串写入到指向的输出流,根据指定format(格式)
返回写入的字符数(写入成功)或返回负值(发生错误)
int fprintf( FILE *stream, const char *format, ... );
 
文件读取
fgetc()
从fp所指向的输入文件中读取一个字符
返回读取字符(读取成功)或返回EOF(发生错误)
int fgetc( FILE * fp );
 
fgets()
从fp所指向的输入流中读取n-1个字符,并把读取的字符串复制到缓冲区,在最后追加一个NULL字符来终止字符串,如果函数在读取完n-1个字符之前就遇到换行符
或者文件结尾EOF,则只返回读取到的字符包括换行符
char *fgets( char *buf, int n, FILE *fp );

fscanf()
从一个流中执行格式化输入,根据format(格式)
返回读入参数个数(成功)或返回EOF(失败)
//注:遇到空格,换行时结束,fgets()遇到空格不结束。
//为安全,用fscanf_s()
int fscanf(FILE* stream , const char* format , [argument...]);
原文地址:https://www.cnblogs.com/cc1997/p/9547631.html