我知道不应该在以二进制模式打开的输入流上使用提取运算符,而read应该使用成员函数。
std::ifstream ifs("file.bin", std::ios::in | std::ios::binary);
char c;
ifs >> c; // Should not be used
ifs.read(&c, 1); // OK
Run Code Online (Sandbox Code Playgroud)
但是还是可以做到的。所以我的问题是,在二进制模式下不取消输入文件流上的skipws标志的理由是什么?
我正在编写一个程序,需要用户输入。我需要输入在单词之间包含空格。我在寻找解决方案时遇到了麻烦。在您提出问题之前,我已经在stackoverflow上尝试了其他多个问题,其中同一问题。这些是我尝试过的一些。 如何在C ++中cin空间?
我的代码的问题在于,一旦调用我的setBusinessName方法,它便会自动完成。它输出然后返回自身,而无需等待我输入数据。需要帮助...
string setBusinessName()
{
string name = "";
cout << "The name you desire for your business:";
getline(cin, name, '\n');
cout << name;
return name;
}
Run Code Online (Sandbox Code Playgroud)