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;
}

版权声明:本文为yfz1552800131原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/yfz1552800131/p/8629819.html