下面我有一个代码,它读取一个文本文件,如果它有单词 "unique_chars"
,则只向另一个文本文件写入一行。在里面。我在那条线上还有其他垃圾,例如。 "column"
我怎样才能让它取代短语 "column"
与其他东西如 "wall"
?
所以我的行会像<column name="unique_chars">x22k7c67</column>
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream stream1("source2.txt");
string line ;
ofstream stream2("target2.txt");
while( std::getline( stream1, line ) )
{
if(line.find("unique_chars") != string::npos){
stream2 << line << endl;
cout << line << endl;
}
}
stream1.close();
stream2.close();
return 0;
}
最佳答案
如果您希望替换所有出现的字符串,您可以实现自己的 replaceAll 函数。
void replaceAll(std::string& str, const std::string& from, const std::string& to) {
if(from.empty())
return;
size_t pos = 0;
while((pos = str.find(from, pos)) != std::string::npos) {
str.replace(pos, from.length(), to);
pos += to.length();
}
}
关于c++ - 读取文本文件并输出字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12326242/