C++でファイル内容を変更する方法

ファイルの内容を C++ で変更するには、fstream オブジェクトを使用し、適切な読み取り/書き込み操作を使用する必要があります。

以下のサンプルコードはファイルをオープンして内容を書き込みます。既存の内容は上書きされます。

#include <iostream>
#include <fstream>

int main() {
    std::ofstream file("example.txt"); // 打开文件,如果不存在则创建

    if (file.is_open()) {
        file << "Hello, World!"; // 写入内容到文件中
        file.close(); // 关闭文件
        std::cout << "文件内容已修改。" << std::endl;
    } else {
        std::cout << "无法打开文件。" << std::endl;
    }

    return 0;
}

ファイルの特定箇所の内容を変更したい場合は、ファイルストリームの読み書き操作(seekgとseekp)を使用して目的の位置に移動し、適宜変更する必要があります。

既存のファイルをオープンし、その内容を変更するコードサンプルを以下に示します。

#include <iostream>
#include <fstream>

int main() {
    std::fstream file("example.txt", std::ios::in | std::ios::out); // 打开文件

    if (file.is_open()) {
        file.seekp(7); // 定位到第8个字符的位置(索引从0开始)
        file << "C++"; // 替换内容
        file.close(); // 关闭文件
        std::cout << "文件内容已修改。" << std::endl;
    } else {
        std::cout << "无法打开文件。" << std::endl;
    }

    return 0;
}

seekp(7)は、ファイル中の8番目の文字位置にファイルポインタを移動し、<<演算子を使用してコンテンツを置き換えます。これにより、その位置より先のコンテンツが上書きされます。特定の位置にコンテンツを挿入する場合は、seekpとwrite関数を使用できます。

bannerAds