我正在为个人使用编写一个简单的python IDE,在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();
}
答案 0 :(得分:3)
在文件中打印endl
的原因是因为您在检查data
后向流对象fos
提供了endl or new line
变量。你可以试试这个:
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 <<"\n";
}
else if(data != "s" && data != "endl")
{
fos << data + " ";
}
}
fos.close();
}