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++提供的文件输入/输出函数,并给出了一个简单的示例。

最后修改:2023 年 02 月 13 日
如果觉得我的文章对你有用,请随意赞赏