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个字符之前就遇到换行符\n或者文件结尾EOF,则只返回读取到的字符包括换行符
--------char *fgets( char *buf, int n, FILE *fp );

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

猜你喜欢

转载自www.cnblogs.com/cc1997/p/9547631.html