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);
经验分享 程序员 微信小程序 职场和发展