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

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

本文关键字:问题 C++ 文件 输入 字符串 用户      更新时间:2023-10-16

我正在使用用户输入将字符串存储在 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();
}

示例:用户输入:第一行:您好,我在文本文件中编写

第二行:这行得通吗?

文件中的输出: 您好 : 新行 i : 新行 上午 : 换行符 书写:换行 在 : 新行 A : 新行 文本 : 换行符 文件 : 新行 将:新行 这 : 新行 工作?

任何帮助表示赞赏!

您应该尝试将 getline(std::cin, Input( 放在 std::cin>> Input 下方以捕获所有空格,这样它就不会在每个单词中都是一行。希望这有效