(C++)char数组和string读取含空格的字符串

1. char数组:

  使用scanf("%[^c]",s)可以以c字符为间隔读取字符串。

  所以scanf("%[^\n]",s)可以以读取以换行符为间隔读取字符串。

  但是它不会吃掉换行符,所以scanf连着用时要用getchar()把中间的换行符吃掉才行。


 

2. string

  使用getline(cin,s)可以以换行符为间隔读取字符串。

  它会吃掉换行符,所以getline连着用不需要用getchar()吃掉换行符。

  如果前面用cin读了东西,后面要用getline,需要在cin之后用cin.get()吃掉换行符。

posted @ 2020-03-14 11:46  Frank__Chen  阅读(2310)  评论(0编辑  收藏  举报