读取带空格字符串小结

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

转载于:https://www.cnblogs.com/yfz1552800131/p/8629819.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值