我需要一个小问题的帮助。 我写了一个小程序,它将.rd文件中的每一行文本都读成一个字符串。但是在文本中有一些\,当我输出字符串时,程序认为\是转义字符。
如何获取原始文字?
程序运行时没有错误。
以下是我的代码的一小部分:
string find="something";
string replace="something2";
string line="";
fstream myfile;
myfile.open ("file.rb");
if (myfile.is_open())
{
while (getline(myfile,line))
{
cout << line << '\n';
if(line == find)
{
myfile << replace;
}
else
{
myfile << line;
}
}
myfile.close();
}
答案 0 :(得分:0)
您应该尝试使用unicode版本的getline,或者尝试将ios::binary
添加到流构造函数标记中。
有关详细信息,请参阅此article。
但是,如果从stdin或文件中读取类似“\ 0”的字符串,则应将其视为两个单独的字符:'\'和'0'。您无需进行其他处理。
转义字符仅用于字符串/字符文字。也就是说,当你想在源代码中硬编码时。