是否有像getline
或getchar
这样的功能,即使char
为空格,它也会得到下一个字符?所以如果我有a bc
,我将不得不四次调用该函数以获得'a'
,' '
,'b'
和'c'
。即使它是空白,我如何得到下一个字符?
-3
A
回答
0
函数getline需要整条生产线因此对于“一个BC”,你将不得不自己来解析该字符串。
0
也许尝试ifstream的,因为是禁用空格跳跃行为操纵:
单字符与标准库的命名字符输入功能的stream >> std::noskipws;
1
阅读,不跳过空白。即这个问题有一个不正确的假设。
在C++级别,您可以使用istream::get
;有各种过载。
在C级别,getchar
和getwchar
,加上family。
这是一个好主意,在文档中查找事物进行培训。
3
未格式化的输入函数不会跳过空格 - 请参见here。听起来像你想get
。从上面链接的完整列表中:
以下标准库函数是UnformattedInputFunctions。
std::getline, except that it does not modify gcount.
basic_istream::operator>>(basic_streambuf*)
basic_istream::get
basic_istream::getline
basic_istream::ignore
basic_istream::peek
basic_istream::read
basic_istream::readsome
basic_istream::putback, except that it first clears eofbit
basic_istream::unget, except that it first clears eofbit
basic_istream::sync, except that it does not modify gcount
basic_istream::tellg, except that it does not modify gcount
basic_istream::seekg, except that it first clears eofbit and does not modify gcount
std::ws, except that it does not modify gcount
另一种方法是禁用空白跳过内部格式的输入功能:
#include <iomanip>
...
char c;
std::cin >> std::noskipws >> c;
+0
×1为列表。尼斯。为什么我没有想到这一点。 –
+0
@ Cheersandhth.-Alf:我不能声称有太多的功劳......看到链接在':: get'页面上,而不是直接搜索它。干杯。 –
相关问题
- 1. C# - 如何找到一个字符串内的字符串,即使它跨越了空白?
- 2. 跳到下一个非空白字符的字符串数组
- 3. Emacs:删除空白到下一个非白色字符
- 4. 如何将字符串复制到另一个字符在第一个位置留下空白字符?
- 5. 即使当我画它时,也是空白的JPanel
- 6. VIM:删除所有的空白,直到下一个非空白字符
- 7. 如何获得字符串中第一个非空白字符的索引?
- 8. 为什么我会得到一个空白页而不是Joomla?
- 9. 正则表达式找到一个空白字符和非空白字符
- 10. 获取字符串是即使它包含一个换行符
- 11. MySQL:字段中的空白字符实际上不是空白。它是什么?
- 12. 查找字符串,并得到一切从字符串到下一个空间
- 13. 如何跳转到vscode中的第一个非空白字符?
- 14. 如果检测到空白,我该如何分割一个字符串?
- 15. 如果我在python中比较两个字符串,即使它们是相同的,我也会得到false
- 16. 即使空白,我如何强制TextView至少有一行高?
- 17. 方法返回空白,即使它在方法内部不是空白
- 18. 我如何下的UIImageView下面一个UILabel,使得它总是均匀摆放
- 19. 为什么我在这里得到空白字符串?
- 20. php json得到一个空白textview
- 21. DropDownList得到一个空白选择
- 22. 我得到一个空白的屏幕上我的pdo登录
- 23. 我得到一个空白,黑色模拟器当我运行
- 24. 如何比较一个字符来检查它是否为空?
- 25. 我将如何获得每一个空白行?
- 26. 阅读并获得价值btw空白和另一个字符
- 27. 我怎么拆不删除分隔符,如果它是空白
- 28. 我如何从一个字符串c得到一个总是变化的值#
- 29. 用空白修剪一个字符串
- 30. 我如何找到字符串之间的空白ColdFusion的
也许http://en.cppreference.com/w/cpp/io/manip/skipws –
函数getline用1个调用获得一行,而不是4. getchar是完全不同的东西。 – deviantfan