一.定义字符串类型为string
1.cin>>
用法一:最常用、最基本的用法,输入一个各种类型的数据,可以是int,char,string,char[],long等;
用法二:接受一个字符串,遇“空格”、“Tab”、“回车”都结束
2.getline(头文件<string>
)
输入格式
string a,b;
getline(cin,a);
如果需要对b赋值,应先初始化b.resize(a.length());
二.定义字符或字符串为char类型
1.cin>>
2.cin.get()
用法一:cin.get(字符变量名)可以用来接收字符:
{
char ch;
ch=cin.get(); //或者cin.get(ch);只能获取一个字符
}
用法二:cin.get(字符数组名,接收字符数)用来接收一行字符串,可以接收空格:
{
char a[20];
cin.get(a,20); //有些类似getline。可以输入多个单词,中间空格隔开。
}
用法三:cin.get(无参数)没有参数主要是用于舍弃输入流中的不需要的字符,或者舍弃回车,弥补cin.get(字符数组名,接收字符数目)的不足
{
char arr[10];
cin.get(arr,10);
cin.get();//用于吃掉回车,相当于getchar();
cout<<arr<<endl;
}
}
3.cin.getline() // 接受一个字符串,可以接收空格并输出
char m[20];
cin.getline(m,5); //与上面基本相同。
延伸:
cin.getline()实际上有三个参数,
cin.getline(接受字符串到m,接受个数5,结束字符)
当第三个参数省略时,系统默认为'\0' 是‘/n’吧。
当用在多维数组中的时候,也可以用cin.getline(m[i],20)之类的用法:
char m[3][20];
for(int i=0;i<3;i++)
{
cout<<"\n请输入第"<<i+1<<"个字符串:"<<endl;
cin.getline(m[i],20);
}
4.getchar()
单个字符的输入,写法固定并记住
char a;
a=getchar();//不能写成getchar(a)
cout<<a<<endl;
//输入
a
//输出
a