c++ - fstream 用于读写

标签 c++ fstream

在 test.txt 文件中我有一个单词“aa”。我想用“aa1”替换它。但是,下面的程序不会更改该文件。怎么了?

#include <string>
#include<iostream>
#include<fstream>
using namespace std;

int main()
{
    fstream iofile("test.txt",ios_base::in|ios_base::app);
    if (!iofile)
            cerr << "Unable to open file!";

    string word;
    iofile >> word;
    word.push_back('1');
    iofile.seekg(0);
    iofile << word;  
}

最佳答案

您意识到 ios_base::app 会导致您附加到文件末尾,无论您尝试在何处寻求写入,对吧?也许您的意思是特定的ios_base::out

此外,对于写入,它是 seekp() 而不是 seekg()

关于c++ - fstream 用于读写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18152225/

相关文章:

c# - Unity3d DllNotFoundException 显示我的计算机上不存在的目录

c++ - 试图引用已删除的函数

c++ - 存储 NUL 字符 (ASCII 0)

c++ - fork 和执行后如何使用带选择的管道?

c++ - 关于C++模板的问题

c++ - 从文件中读取行并存储在单独的字符串变量中

c++ - 如何存储以二进制模式 C++ 读取的文件中的数据

c++ - 如果无法打开文件,则显示错误消息,C++

c++ - 每个循环可能会或可能不会运行 CDialog 的无限线程

c++ - 在排序数组中查找旋转点