【发布时间】:2015-02-24 01:33:07
【问题描述】:
我正在尝试在 C++ 中查找和替换文本文件中的一行数据。但老实说,我不知道从哪里开始。
我正在考虑使用 replaceNumber.open("test.txt", ios::in | ios::out | ios_base::beg | ios::app);
在开头打开文件并在其上追加,但这不起作用。
有人知道完成这项任务的方法吗?
谢谢
编辑:我的文本文件只有一行,它包含一个数字,例如 504。然后用户指定一个要减去的数字,然后其结果应替换文本文件中的原始数字。
【问题讨论】:
-
能否请您复制不适合您的代码以帮助您?谢谢
-
如果文件不是很大,您可以使用
std::getline()读取行,添加到您想要保留的行的vector<string>,跳过您不想保留的行保持。然后将vector写入文件。虽然通常情况下,对于这类任务,我会使用sed之类的东西。 -
@Adam27X 我的文本文件只有一行,它包含一个数字,例如 504。然后用户指定一个要减去的数字,然后其结果应该替换文本文件中的原始数字。
-
stackoverflow.com/q/16749090。不过,我很困惑。如果您的文本文件是包含单个数字的一行,则此处不涉及查找/替换。这是一个简单的读/写操作。从文件中读取值,回到开头,将新值写入文件。
-
老实说@Ken White 我一直在寻找的是找到并替换号码。相反,我用一个简单的读/写操作替换了这段代码,它工作正常。非常感谢!