fopen()和fwrite()函数介绍及用法
一、fopen()
头文件:#include <stdio.h> fopen()作用:用来打开或创建一个普通文件(文本文件/二进制文件) 函数原型:FILE *fopen(const char *pathname, const char *mode);
pathname:要打开的文件的路径名 mode:打开文件的方式,字符串 r 只读打开,光标在文件开头 文件不存在,则报错 r+ 读写打开,光标在文件开头 文件不存在,则报错
w 只写打开,文件不存在则创建 文件存在,则截短(文件内容被清空)
w+ 读写打开,文件不存在则创建 文件存在,则截短(文件内容被清空)
a 追加打开,只写。文件不存在则创建 文件存在,光标在末尾
a+ 读写打开,文件不存在则创建。 原始读的光标在文件开头,原始写的光标在文件末尾 返回值: 成功返回打开文件的指针 FILE* 在标准IO中,FILE*就表示一个已经打开的文件 失败返回NULL,同时errno被设置
二、fwrite()
函数介绍:fwrite() 是 C 语言标准库中的一个文件处理函数,功能是向指定的文件中写入若干数据块,如成功执行则返回实际写入的数据块数目。该函数以二进制形式对文件进行操作,不局限于文本文件。
函数原型:size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream);
(1)buffer:是一个指针(也可以是一个数组),对fwrite来说,是要获取数据的地址; (2)size:要写入内容的单字节数; (3)count:要进行写入size字节的数据项的个数,这里我们可以用strlen来计算; (4)stream:目标文件指针;
例子:将buf的值写入txt文件(非常简单的一个例子,适合初学者)
FILE*fp = fopen("test.txt","a+"); if(fp == NULL) { perror("open fp error:"); return -1; } //操作 //写入数据 int buf[11] = {1,2,3,4,5,6,7,8,2,3,4}; fwrite(buf,4,11,fp); //关闭文件 fclose(fp);
下一篇:
无人机学习之路——材料准备