用户输入字符串的文件附加问题... C++

File appending problem with users input with strings... C++

我正在使用用户输入将字符串存储在 txt 文件中!但是我有一个问题。虽然输入用于文件写入的用户字符串很好,但我想添加新行,但是当用户为文件输入一个短语时,它将输入写入文件,但不是在一个完整的行中,每个单词需要一个行...

代码:

        int Char;

        std::string Input;

        std::ofstream ofDocument;
        std::ifstream ifDocument;

        ifDocument.open("Path\Document.txt");
        ofDocument.open("Path\Document.txt", std::fstream::app); //I tried ios::app but same result...

        if (ifDocument)
        {
                while (1)
                {
                    std::cin >> Input;

                    ofDocument << Input << std::endl;

                    switch (Char = _getch())
                    {
                        case '@':

                        std::cout << "You pressed '@', exiting application..." << "\n" << std::endl;

                        exit(0);
                    }
                }
        }
        else
        {
            std::cout << "Cannot create 'Document.txt'. Please retry..." << std::endl;

            ThisFunction();
        }

示例:用户输入:第一行:你好,我正在写一个文本文件

第 2 行:这行得通吗?

文件中的输出: 你好:新线 我:新行 上午:新线 写作:换行 在:新行 一个:新行 文本:新行 文件:新行 将:新行 这个:新行 工作?

感谢任何帮助!

你应该尝试把getline(std::cin, Input)放在std::cin >> Input下面来捕获所有空格,这样就不会每个单词都是一行。希望这有效