C++关于getline()和getchar()的小点
生活随笔
收集整理的這篇文章主要介紹了
C++关于getline()和getchar()的小点
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
getchar只能“吃”一個字符,而getline可以“吃”一行字符
代碼如下:
#include <iostream> #include <cstring> using namespace std;int main() {char c;cin>>c;string line;getline(cin,line);cout<<c<<endl;cout<<line<<endl;return 0; }在這里,我輸入a,然后按回車,直接就輸出結果了。
因為getline把我的回車吃了
在這里,我輸入a,然后按回車,還要繼續(xù)輸入,是因為getchar把回車吃了,所以getline才可以接收asd
可是,當我在輸入a時,后面再加幾個空格,然后再按回車,會發(fā)生什么呢?
可以發(fā)現(xiàn),getchar只能吃一個字符,所以當我們輸入一個值后,如果后面有幾個空格,然后再按回車,getchar就無法解決吃回車的問題了,它把第一個空格吃了,剩下的空格加回車就被getline吃了,所以遇到這種情況,我們再用一次getline來吃就好了!!!
代碼如下:
#include <iostream> #include <cstring> using namespace std;int main() {char c;cin>>c;string line;getline(cin,line);getline(cin,line);cout<<c<<endl;cout<<line<<endl;return 0; }總結
以上是生活随笔為你收集整理的C++关于getline()和getchar()的小点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 硬盘分区魔术师图解教程
- 下一篇: C++substr()用法