Ofstream 正在创建一个文件,但只写入起始词而不是完整字符串

ofstream is creating a file but writting only starting word not full string

本文关键字:字符串 创建 文件 一个 Ofstream      更新时间:2023-10-16

这是我的代码。它制作一个文件,但只打印他输入的第一个单词。请帮忙。

std::string userinput;
int a =rand() % 4+1;
std::stringstream ss;
ss << a;
std::string line = ss.str();
std::string mfile="C:\Users\Venom\Documents\atom\c++\projects   \pyramid\info files\infernotxt\help\greeting\" +line;
//std::cout << mfile << 'n';
std::ifstream infile(mfile.c_str());
getline(infile, line);
std::cout << infernoname<<line << 'n';
infile.close();

std::cout << username;
std::ofstream output(guestfolder.c_str());
std::getline(std::cin, userinput);
output<<userinput;
output.close();

代码的问题在于你使用的是 std::cin,它只获取输入的第一个单词。你想使用的是getline(string(。

问题:代码。输入/输出


获取线使用情况,假设userinputstd::string

std::getline (std::cin,userinput);

cin >> var;只读取到第一个空格。为了防止这种使用getline(cin, var);