c++字符串输入

 c++字符串输入总结:cin、getchar和scanf、cin.get()、gets、cin.getline()、getline

1、cin:  接收字符串时,遇“空格”、“TAB”、“回车”都结束

char a[20];
cin>>a;
cout<<a;
//遇到空格、回车键结束

2、scanf:  接收字符串时,遇“空格”、“TAB”、“回车”都结束

      getchar:   接收一个字符

char ch2[20]; // 字符数组
scanf("%s", ch2);
printf("%s\n", ch2);
getchar(); // 用完 scanf 后,清除缓冲区 

/* 注:scanf读取字符时遇到空格和回车符时都会停止读取,
此时输入缓冲区还剩一个\n,如果不清除,会影响下一次的输入*/

3、 cin.get():  接收字符串时, 可以接收空格

#include<iostream>
using namespace std;

int main() {
	char ch;
	cin.get(ch);  //获取一个字符
	cout<<ch<<endl;

    getchar();  //清除缓存区
    
	char ch2[20];
	cin.get(ch2,10);  //获取字符串,存入ch2中,限制长度为10-1=9
	cout<<ch2;

	return 0;
}

4、gets():  接收字符串时, 可以接收空格 

char ch1 [20]; // 字符数组
gets(ch1);  // 输入    不能写成ch1=gets();
puts(ch1);   // 输出

5、cin.getline():接收字符串时,可以接收空格并输出 

#include<iostream>
using namespace std;
int main(){
	char m[20];
	cin.getline(m,4);   //存入m,限制长度为4个字符,第5个位置存\0
	cout<<m<<endl;
	
	return 0;
}
#include<iostream>
using namespace std;
int main(){
	char m2[20];
	cin.getline(m2,5,'a');   //存入m,限制长度为4个字符,第5个位置存\0, 遇到字符a停止
	cout<<m2<<endl;    //当输入123abcde时,输入123
	
	return 0;
}

6、getline() :  接收字符串时,可以接收空格并输出,需包含头文件“  #include<cstring>  ” 

#include<iostream>
#include<cstring>
using namespace std;
int main(){
	string str;
	getline(cin, str);//用于string字符串类型,存入带空格的字符串
	cout <<"str= "<< str << endl;

	char a[10];
	cin.getline(a, 6);//用于字符数组类型,存入带空格的字符串
	cout <<"a= "<< a;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值