当前位置: 首页 > 工具软件 > fwrite > 使用案例 >

fopen()和fwrite()函数介绍及用法

尤祖鹤
2023-12-01

  一、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);

 类似资料: