几种c/c++可以读取空格的方法

本文详细解析了C语言中使用scanf、gets、getline等函数进行字符串和字符输入的方法,对比了它们处理空格和回车的区别,以及如何屏蔽不需要的输入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

个字符串分为一个一个字符输入
char s[100];
int i=0;
while(scanf("%c",&s[i]),s[i]!=’/n’) i++;
s[i]=’/0’;
遇到换行停止输入,并且将换行替换为/0 printf("%s/n",s); 但是如果在这段程序前还有其他类型的输入,则需要把回车吃掉,即加一条scanf("%*c"),因为scanf不会将/n或者空格符赋值给字符串,但会赋值给字符输入"%c".

总结来看,一个是能不能读取空格,一个是会不会吸收回车,都需要注意。

字符串输入: 
string x; scanf("%s",x);//不读取空格,不读取回车 
gets(x);//读取空格,读取回车 
cin>>x;//不读取空格, 不读取回车
getline(cin,x);//读取空格,不读取回车 
字符输入
char ch;
cin>>x;//不读取回车
scanf("%c",&ch);//读取回车

需要屏蔽回车的个,一个是gets,一个是getline,一个是scanf的字符输入。
怎么屏蔽回车呢,gets用getchar();,getline用cin.ignore(1);
gets不能读取string类型的字符串。

会读取空格的就gets和getline

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值