C++读写文件教程
一、简介
C++读写文件是指使用C++编程语言来读取和写入文件的过程。C++提供了一系列的文件输入/输出函数,可以让程序员轻松地读取和写入文件。
二、C++文件输入/输出函数
C++提供了一系列的文件输入/输出函数,可以让程序员轻松地读取和写入文件。
1. fopen()函数
fopen()
函数用于打开文件,它的原型如下:
FILE *fopen(const char *filename, const char *mode);
其中,filename
参数是文件名,mode
参数指定文件的打开模式,可以是以下值:
"r"
:只读模式,文件必须存在"w"
:只写模式,如果文件存在,则清空文件内容;如果文件不存在,则创建新文件"a"
:追加模式,如果文件存在,则在文件末尾追加内容;如果文件不存在,则创建新文件"r+"
:读写模式,文件必须存在"w+"
:读写模式,如果文件存在,则清空文件内容;如果文件不存在,则创建新文件"a+"
:读写模式,如果文件存在,则在文件末尾追加内容;如果文件不存在,则创建新文件
fopen()
函数的返回值是一个FILE
指针,如果打开文件失败,则返回NULL
。
2. fclose()函数
fclose()
函数用于关闭文件,它的原型如下:
int fclose(FILE *stream);
其中,stream
参数是fopen()
函数返回的FILE
指针。fclose()
函数的返回值是0
,如果关闭文件失败,则返回EOF
。
3. fread()函数
fread()
函数用于从文件中读取数据,它的原型如下:
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
其中,ptr
参数是一个指针,用于指向要存放读取的数据;size
参数是每个数据的大小;nmemb
参数是要读取的数据的个数;stream
参数是fopen()
函数返回的FILE
指针。fread()
函数的返回值是实际读取的数据的个数,如果读取失败,则返回0
。
4. fwrite()函数
fwrite()
函数用于向文件中写入数据,它的原型如下:
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
其中,ptr
参数是一个指针,用于指向要写入的数据;size
参数是每个数据的大小;nmemb
参数是要写入的数据的个数;stream
参数是fopen()
函数返回的FILE
指针。fwrite()
函数的返回值是实际写入的数据的个数,如果写入失败,则返回0
。
三、示例
下面是一个简单的C++读写文件的示例:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
// 打开文件
FILE *fp = fopen("test.txt", "w+");
if (fp == NULL)
{
cout << "Open file failed!" << endl;
return -1;
}
// 写入文件
const char *str = "Hello, world!";
fwrite(str, sizeof(char), strlen(str), fp);
// 读取文件
char buf[1024];
fseek(fp, 0, SEEK_SET);
fread(buf, sizeof(char), strlen(str), fp);
cout << buf << endl;
// 关闭文件
fclose(fp);
return 0;
}
四、总结
本文介绍了C++读写文件的基本概念,以及C++提供的文件输入/输出函数,并给出了一个简单的示例。