是否有像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