读取带空格字符串小结

1 ,gets()

可以无限读取,以回车结束读取,C语言中的函数,在C++中运行会产生bug。

如:

#include <iostream>

#include <cstdio>

using namespace std;

int main()

{

         chara[50];

         cin>>a;

         gets(a);

         cout<<a<<endl;

         return0;

}

输入:I love China回车结束输入,输出结果为love China。首字符自动丢弃

2 , getline()

若定义变量为string类型,则要考虑getline()函数。用法如下:

#include <iostream>

#include <string>

using namespace std;

int main()

{

         stringa;

         getline(cin,a);

         cout<<a<<endl;

         return0;

}

输入:I love China回车并未结束输入,需回车两次才能结束输入,输出结果为:I love China.

3 , cin.get  cin.getline

cin.get()函数可以接收空格,遇回车结束输入。

#include <iostream>

using namespace std;

int main()

{

         chara[50];

         cin.get(a,50);

         cout<<a<<endl;

         return0;

}

输入:I love China回车结束输入,输出结果为I love China。

4 , 用scanf()输入带有空格的字符串

scanf(“%[^\n]”,str);

下面是具体示例:

#include <stdio.h>

int main()
{
 char a[50];

scanf("%[^\n]",&a);
printf("%s\n",a);

return 0;
}

posted @ 2018-03-23 13:26  左岸繁华右岸殇  阅读(384)  评论(0编辑  收藏  举报