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ファイル内に出力される理由は、チェック後dataにストリーミングオブジェクトに変数を提供しているためです。これを試すことができます:fosendl 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 に答える