如何通过使用 fstream 将内容复制到另一个 .txt 来读取 .txt 到类似内容。问题是,当文件中有新行时。使用 ifstream 时如何检测到这一点?
用户输入“苹果”
例如:note.txt => 我昨天买了一个苹果。苹果尝起来很好吃。
note_new.txt => 我昨天买了一个。味道鲜美。
生成的注释假设在上面,而是:note_new.txt => 我昨天买了一个。味道鲜美。
如何检查源文件中是否有新行,它也会在新文件中创建新行。
这是我当前的代码:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
ifstream inFile ("note.txt");
string word;
ofstream outFile("note_new.txt");
while(inFile >> word) {
outfile << word << " ";
}
}
你们都可以帮帮我吗?实际上,我还会检查检索到的单词何时与用户指定的单词相同,然后我不会在新文件中写入该单词。所以一般来说,它会删除与用户指定的单词相同的单词。
原文由 muhihsan 发布,翻译遵循 CC BY-SA 4.0 许可协议
逐行法
如果您仍想逐行执行,可以使用
std::getline()
:它从流中获取一行,您只需在任何您想要的地方重写它。
更简单的方法
如果您只想在另一个文件中重写一个文件,请使用
rdbuf
:编辑: 它将允许删除您不想出现在新文件中的单词:
我们使用
std::stringstream
: