文件打开
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...]);