关于cin和getline读入字符串

今天做天梯赛训练题 , 新得知了一个知识点 。

那就是cin和getline(cin , string s)读入字符串的不同。

cin:
1.cin从缓冲区读字符串时,如果第一个字符是空格、换行或者tab这些字符时,cin会自动忽略并等待正经字符。
2.cin如果第一个字符读到了正经字符,那么接下来如果cin遇到空格、换行或者tab,那么这次数据读取结束,cin将这三种字符前面的字符赋给string变量。

getline:
1.getline遇到空格不结束,他可以读入空格,也可以读入换行符,但是当把字符给string变量的时候又会把换行符丢掉。也就是说string变量里面没有换行符。

举例: 如果缓冲区中输入 I love you!'\n'

用cin的话string变量中的值是 : I

用getline的话string变量中的值是 : I love you!

posted @ 2020-11-17 11:54  时光以北  阅读(564)  评论(0编辑  收藏  举报