我正在寻找一种方法来使用 C++ 为我的 html 文件替换某个字符串(不是整行)。例如,如果我有一个包含以下内容的 html 文件:
</span><br><span class=text>morning<br></span></td>
我希望它编辑为:
</span><br><span class=text>night<br></span></td>
我需要用“晚上”替换“早上”,这是我的代码:
string strReplace = "morning";
string strNew = "night";
ifstream filein("old_file.html");
ofstream fileout("new_file.html");
string strTemp;
while(filein >> strTemp)
{
if(strTemp == strReplace){
strTemp = strNew;
}
strTemp += "\n";
fileout << strTemp;
}
这段代码对我的文件没有任何影响,我猜原因是它只能更改整行,而不是部分字符串。有人可以给我一些建议以进行正确的实施吗?先感谢您。
原文由 Saintycer 发布,翻译遵循 CC BY-SA 4.0 许可协议
从我阅读原始问题的方式来看,您需要将文件中的所有“早晨”实例替换为“夜晚”,而不仅仅是给定行上的一个实例。我首先将整个文件读入一个字符串。
接下来,制作一个
find_and_replace
函数:然后主要是,
编辑:
find_and_replace()
不应将其file_contents
字符串参数声明为const
。刚刚注意到并解决了这个问题。