问题标签 [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.
c++ - C++ cin 问题
好的,我正在编写一个简单的 C++ 函数来组合 cin'd 字符串。我目前正在使用 Linux,所以我没有简单的“getline(cin, input)”命令。这是到目前为止的代码:
我想知道的是:提示实际上是在询问用户输入,还是仍在从因空格而留下的缓冲区中读取?
c++ - 如何用空格读取 cin 直到换行符?
我希望从当前位置读取 C++ 中的 cin 直到将换行符转换为字符串。要读取的字符可能包含空格。我的第一次通过失败,因为它停在第一个空格:
如果给出 cin:
变量结果只得到:
我认为我应该能够使用流操纵器来完成此操作,但是 skipws 并不完全正确,因为它使用空格和制表符抛出回车,而且这听起来像是要跳过前导空格。
也许我需要像这样使用streambuf?
c++ - C ++中EOF的无限循环
这段代码大部分都按预期工作,即提示用户输入单个字符,执行相关操作,提示用户按回车键,然后重复。但是,当我在提示符下输入 ^D (EOF) 时,会发生无限循环。我正在通过 std::cin.clear() 清除错误状态并调用 std::cin.ignore(...) 来清除缓冲区。什么可能导致无限循环?
如果重要的话,我正在 Mac OS X 终端中运行它。
更新:我在这里真正要问的是,当用户在提示符处输入 EOF (^D) 时,我如何 (a) 检测它并 (b) 重置流,以便用户可以继续输入数据。
以下示例与上面的代码不同,但说明了在检测到 ^D 后清除流并继续从该流中读取的相同原理。
c++ - 如何在 C++ 中声明一个字符串而不赋值?
我知道对于整数,您可以使用:
我试过了:
但是 Visual C++ 给了我一个错误。如何在不分配值的情况下声明它,然后再使用cin >> str
它来分配它?
c++ - C++ cout cin 字符串操作
我正在尝试从命令行获取一行作为输入。我的问题是我没有得到整条线,但它被空间标记了。
因此,如果我输入诸如“我非常喜欢数学”之类的内容,而不是
我得到以下信息:
c++ - while循环中的C ++ STD Cin错误
为什么当我进入下面的循环并输入第一条指令 cmdstd:getline(std::cin,cmdInput); 不读取输入的输入。例如,如果我输入“b 8”,它应该显示“cmd is b 8”,但它会跳到下一个读取 std::getline(std::cin, input); 并改为显示“它是 b”
c++ - 如何修改 std::cin 的内部缓冲区
我正在编写一个使用获取密码的软件std::cin
然而不太可能,我试图避免密码从内存分页到磁盘的可能性,所以我想修改缓冲区std::cin
以在我完成密码后立即覆盖密码。
现在我有这个:
但我很确定这很糟糕,因为它没有考虑到 cin 缓冲区的当前大小。如何正确覆盖缓冲区的内容?
谢谢你的帮助!
c++ - C++ cin.fail() 问题
运行以下代码并输入数字时,它工作正常。但是当输入字母时,程序进入死循环,显示“输入数字(0退出):cin失败”。
我的意图是处理 cin 失败案例并再次提示用户。
c++ - 从工作线程输出到 cin (c++)
我的程序有一个主线程,它接受用户的命令输入。另外,它可能会增加(至少 1 个)工作线程在后台搅动数据。
用户可以通过在控制台中键入命令来终止程序。然而,当数据搅动完成时,主线程仍然阻塞等待用户输入,因此程序不会终止。
我想知道的是如何将终止命令“q\n”写入std::cin
工作线程中,以便阻塞命令输入线程(也是主线程)将终止。或者这会是一件坏事吗?我已经尝试过以下方法,但程序只是挂起或无法写入std::cin
,不知道为什么。
在主线程上,这是从 main 调用的:
有人会建议我在这里做错了什么,或者为我想要完成的事情提出更好的解决方案吗?
谢谢
c++ - 使用 cin 从用户那里获取输入
我正在使用 Turbo C++ 3.0 编译器
使用以下代码时..
当我输入空格时……它唯一的保存字符是在空格之前键入的……就像我输入“QWERT YUIOP”一样……名称将包含“QWERT”;
任何解释为什么?