0

我正在为我自己的个人使用为 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();
}
4

1 回答 1

3

之所以在endl文件中打印,是因为您在检查. 你可以试试这个:datafosendl 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();
}
于 2012-12-31T06:47:39.187 回答