216得票8回答
使用std::cin输入带有空格的内容?

#include <string> std::string input; std::cin >> input; 用户想要输入“Hello World”。但是cin在两个单词之间的空格处失败了。我该如何让cin接收整个Hello World? 我实际上是用结构体做这件...

134得票14回答
如何清空cin缓冲区?

我该如何在C++中清空cin缓冲区?

121得票4回答
为什么在读取输入后要调用cin.clear()和cin.ignore()?

Google Code University的C++教程以前有这段代码:// Description: Illustrate the use of cin to get input // and how to recover from errors. #include <iostrea...

97得票7回答
何时以及为什么我需要在C++中使用cin.ignore()?

我用C++写了一个非常基础的程序,让用户输入一个数字和一个字符串。令我惊讶的是,在运行程序时,它从未停下来询问要输入字符串。它直接跳过了字符串部分。通过在StackOverflow上查阅一些资料,我发现需要添加一行代码:cin.ignore(256, '\n'); 在获取字符串输入的那一行之前...

84得票6回答
如何处理Windows.h中的max宏与std中的max发生冲突?

所以我尝试从cin获取有效的整数输入,并使用了这个问题的答案。 它建议:#include <Windows.h> // includes WinDef.h which defines min() max() #include <iostream> using std:...

64得票22回答
如何将值输入到向量(vector)中

我正在尝试要求用户输入数字并将其推入向量中,然后使用函数调用来计算这些数字。为什么这不起作用?我只能计算第一个数字。template <typename T> void write_vector(const vector<T>& V) { cout &lt...

62得票9回答
如果(cin >> x),为什么可以使用这个条件?

我一直在使用《C++加速入门》这本书学习C ++,但有一个概念我似乎没有完全理解。 为什么是int x; if (cin >> x){} 相当于cin >> x; if (cin){} 从这段代码看来,我觉得我们正在使用 cin 作为变量。但是,我认为它是一个函数。当...

56得票2回答
为什么在stringstream >>操作失败时会更改目标值?

来自 Stroustrup 的《TC++PL》第3版,第21.3.3节: 如果我们尝试将一个变量 v 进行读取操作并且该操作失败,则变量 v 的值应保持不变(如果 v 是 istream 或 ostream 成员函数处理的类型之一,则它是不变的)。 以下示例似乎与上述引文相矛盾。根...

52得票4回答
更改 cin 的定界符 (C++)

我已将 "cin" 重定向为从文件流读取 cin.rdbuf(inF.rdbuf())。当我使用抽取运算符时,它会一直读取,直到遇到空格字符。 是否可以使用其他分隔符?我查阅了 cplusplus.com 的 API,但没有找到相关内容。

50得票4回答
Cin和getline跳过输入

之前我发布了一个有关 cin 跳过输入的问题,我得到的结果是使用 flush 和 istringstream,但现在我尝试了所有可能的解决方案,但它们都不起作用。这是我的代码:void createNewCustomer () { string name, address; ...