问题标签 [cin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
798 浏览

c++ - C++ cin 问题

好的,我正在编写一个简单的 C++ 函数来组合 cin'd 字符串。我目前正在使用 Linux,所以我没有简单的“getline(cin, input)”命令。这是到目前为止的代码:

我想知道的是:提示实际上是在询问用户输入,还是仍在从因空格而留下的缓冲区中读取?

0 投票
1 回答
18196 浏览

c++ - 如何用空格读取 cin 直到换行符?

我希望从当前位置读取 C++ 中的 cin 直到将换行符转换为字符串。要读取的字符可能包含空格。我的第一次通过失败,因为它停在第一个空格:

如果给出 cin:

变量结果只得到:

我认为我应该能够使用流操纵器来完成此操作,但是 skipws 并不完全正确,因为它使用空格和制表符抛出回车,而且这听起来像是要跳过前导空格。

也许我需要像这样使用streambuf?

0 投票
7 回答
3959 浏览

c++ - C ++中EOF的无限循环

这段代码大部分都按预期工作,即提示用户输入单个字符,执行相关操作,提示用户按回车键,然后重复。但是,当我在提示符下输入 ^D (EOF) 时,会发生无限循环。我正在通过 std::cin.clear() 清除错误状态并调用 std::cin.ignore(...) 来清除缓冲区。什么可能导致无限循环?

如果重要的话,我正在 Mac OS X 终端中运行它。


更新:我在这里真正要问的是,当用户在提示符处输入 EOF (^D) 时,我如何 (a) 检测它并 (b) 重置流,以便用户可以继续输入数据。

以下示例与上面的代码不同,但说明了在检测到 ^D 后清除流并继续从该流中读取的相同原理。

0 投票
3 回答
492 浏览

c++ - 如何在 C++ 中声明一个字符串而不赋值?

我知道对于整数,您可以使用:

我试过了:

但是 Visual C++ 给了我一个错误。如何在不分配值的情况下声明它,然后再使用cin >> str它来分配它?

0 投票
2 回答
1906 浏览

c++ - C++ cout cin 字符串操作

我正在尝试从命令行获取一行作为输入。我的问题是我没有得到整条线,但它被空间标记了。

因此,如果我输入诸如“我非常喜欢数学”之类的内容,而不是

我得到以下信息:

0 投票
4 回答
1873 浏览

c++ - while循环中的C ++ STD Cin错误

为什么当我进入下面的循环并输入第一条指令 cmdstd:getline(std::cin,cmdInput); 不读取输入的输入。例如,如果我输入“b 8”,它应该显示“cmd is b 8”,但它会跳到下一个读取 std::getline(std::cin, input); 并改为显示“它是 b”

0 投票
2 回答
895 浏览

c++ - 如何修改 std::cin 的内部缓冲区

我正在编写一个使用获取密码的软件std::cin

然而不太可能,我试图避免密码从内存分页到磁盘的可能性,所以我想修改缓冲区std::cin以在我完成密码后立即覆盖密码。

现在我有这个:

但我很确定这很糟糕,因为它没有考虑到 cin 缓冲区的当前大小。如何正确覆盖缓冲区的内容?

谢谢你的帮助!

0 投票
3 回答
10560 浏览

c++ - C++ cin.fail() 问题

运行以下代码并输入数字时,它工作正常。但是当输入字母时,程序进入死循环,显示“输入数字(0退出):cin失败”。

我的意图是处理 cin 失败案例并再次提示用户。

0 投票
2 回答
2082 浏览

c++ - 从工作线程输出到 cin (c++)

我的程序有一个主线程,它接受用户的命令输入。另外,它可能会增加(至少 1 个)工作线程在后台搅动数据。

用户可以通过在控制台中键入命令来终止程序。然而,当数据搅动完成时,主线程仍然阻塞等待用户输入,因此程序不会终止。

我想知道的是如何将终止命令“q\n”写入std::cin工作线程中,以便阻塞命令输入线程(也是主线程)将终止。或者这会是一件坏事吗?我已经尝试过以下方法,但程序只是挂起或无法写入std::cin,不知道为什么。

在主线程上,这是从 main 调用的:

有人会建议我在这里做错了什么,或者为我想要完成的事情提出更好的解决方案吗?

谢谢

0 投票
3 回答
9491 浏览

c++ - 使用 cin 从用户那里获取输入

我正在使用 Turbo C++ 3.0 编译器

使用以下代码时..

当我输入空格时……它唯一的保存字符是在空格之前键入的……就像我输入“QWERT YUIOP”一样……名称将包含“QWERT”;

任何解释为什么?