c语言cin取字符串,c – 是否可以从cin中读取一个空字符串,并且仍然可以从cin.good()获得真实的字符串?...
生活随笔
收集整理的這篇文章主要介紹了
c语言cin取字符串,c – 是否可以从cin中读取一个空字符串,并且仍然可以从cin.good()获得真实的字符串?...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我的問題基于這個簡單的代碼:
#include
using namespace std;
int main() {
string buf;
while (cin >> buf && !buf.empty()) {
cout << "input is " << buf << "\n";
}
return 0;
}
操作符>> cin(它是basic_istream類型的對象)讀取并丟棄任何前導空格(例如空格,換行符,制表符).然后運算符>>讀取字符直到遇到下一個空白字符.操作符最終返回流本身,cin.
如果沒有設置至少一個eost,eof,fail或bad,就不可能輸入一個空字符串?因此,流與運算符bool轉換為false.我認為!buf.empty()在這里是多余的,但這是一個好習慣.有沒有辦法讓cin的iostate保持良好狀態并將字符串留空?
用法示例:
1.輸入您選擇的單詞
2.按回車鍵
3.按Ctrl d(UNIX上的EOF)或Ctrl d(Windows上的EOF)
謝謝
總結
以上是生活随笔為你收集整理的c语言cin取字符串,c – 是否可以从cin中读取一个空字符串,并且仍然可以从cin.good()获得真实的字符串?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux最新官方回应只峰身份,Ubun
- 下一篇: C语言程序输入两行汉字,C语言多行输入问