9得票2回答
为什么std::noskipws不起作用,或者它应该做什么?

首先,我的理解是: cin >> std::noskipws >> str; 应该将从cin中取出的一整行,例如 "i have spaces",赋值给str。但是,这样只会将 "i" 赋值给str。这可能是一个错误的假设,那么std::noskipws是做什么用...

10得票2回答
从Bash将输入管道传输到C++的cin

我想编写一个简单的Bash脚本来编译我的C++代码,这里是一个非常简单的程序,它只是将输入读入向量,然后打印向量的内容。 C++代码: #include <string> #include <iostream> #include <ve...

29得票4回答
当输入字符串时,期望输入数字时出现无限循环的问题

在下面的循环中,如果我们输入cin输入的是字符而不是预期的数字,则会陷入无限循环。请问有人能解释一下为什么会发生这种情况吗? 当我们使用cin时,如果输入不是数字,那么有没有办法检测到这种情况以避免上述问题?unsigned long ul_x1, ul_x2; while (1) { ...

45得票3回答
一行中有多个输入

我已经寻找了一些资料,但是没有找到答案。我担心这个问题太简单,以至于没人愿意问它。 是否能在同一行中从标准输入中输入多个内容?我的意思是这样的:float a, b; char c; // It is safe to assume a, b, c will be in float, flo...

12得票5回答
为什么getline()在cin.clear()之后仍然跳过输入?

我有一个函数,它总是跳过第一个getline直接执行第二个。我尝试清空缓冲区但是还是没成功,出了什么问题?void getData(char* strA, char* strB) { cout << "Enter String 1: "; // ...

7得票2回答
我的cin在while循环中被忽略了

我正在尝试在我的第一个C++程序中编写一个简单的问题和数字检查器。 问题是,当我输入像one two或three这样的字符串时,程序陷入无限循环,它忽略了cin函数重新赋值给一个数字。 cout << "How many lives would you like 1 (hard)...

19得票7回答
从标准输入流(std::cin)读取二进制数据

如何最简单地从 std::cin 读取二进制(非格式化)数据并将其存储到 string 或 stringstream 中?

37得票4回答
std::cin如何同时返回bool和它自身?

我正在阅读一本关于C++的书,书中提到如果使用>>运算符,则返回左侧对象,例如:std::cin >> value1; 代码返回 std::cin。 但如果我这样做:while(std::cin >> value1) 只要没有 std::cin 错误,我的代码将一直循...

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

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

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

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