我正在编写一个简单的IDE for python供我自己使用,并且在writeFile函数中,我可以选择输入命令endl来启动一个新行并且它工作正常;但是当我看着它生成的文件时,它在新行之前打印endl。所以有什么办法,我可以从变量中删除“endl”,并防止它被写入文件。如何从变量中删除特定的字符串
void writeFile()
{
ofstream fos("data.py");
string data;
bool done = false;
string temp;
cout << "Enter Some Data. Enter s to stop." << endl;
while(!done)
{
cin >> data;
if(data == "s")
{
done = true;
}
else if(data == "endl")
{
fos << data + "\n";
}
else if(data != "s" && data != "endl")
{
fos << data + " ";
}
}
fos.close();
}
当你的问题在一个大块里时很难读。请重新格式化它。但无论如何,你是说你可以在文件中看到'endl',但你不应该?我猜'fos'输出写入,对吧?然后在你的代码中,我看到'fos << data +“\ n”;'如果'data'包含'endl',那么它就会出现在'fos ..对吧?如果我错了,请重写你的问题。 – CppLearner