如何从变量中删除特定字符串

How to remove a specific string from a variable

本文关键字:字符串 删除 变量      更新时间:2023-10-16

我正在为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();
}

endl在文件内打印的原因是因为您在检查endl or new line后将data变量提供给流对象fos。你可以试试:

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();
}