注:转载请标明原文出处链接:https://xiongyiming.blog.csdn.net/article/details/101074733
1 使用cin 获取字符串
#include<iostream>
using namespace std;
int main()
{
const int ArrSize = 20;
char ArrName[ArrSize];
cout << "请输入字符串: " << endl;
cin >> ArrName;
cout << "您输入的字符串为: " << ArrName << endl;
cout << "-----------------------" << endl;
system("pause");
return 0;
}
(1) 当输入 连续字符串abc,打印出的效果如下
(2) 当输入 不连续字符串ab c,打印出的效果如下
注: cin不读读取含有空格的字符串,而cin.getline() 可以获取含有空格为的字符串。
2 使用 cin.getline() 获取字符串
#include<iostream>
using namespace std;
int main()
{
const int ArrSize = 20;
char ArrName[ArrSize];
cout << "请输入字符串: " << endl;
cin.getline(ArrName, ArrSize);
cout << "您输入的字符串为: " << ArrName << endl;
cout << "-----------------------" << endl;
system("pause");
return 0;
}
(1) 当输入 连续字符串abc,打印出的效果如下
(2) 当输入 不连续字符串ab c,打印出的效果如下
3 使用 cin.get() 获取字符串
注: 前面两种均不支持换行输入,而cin.get()支持换行输入,并且前面的功能均有。
#include<iostream>
using namespace std;
int main()
{
const int Arr1Size = 20;
const int Arr2Size = 20;
char Arr1Name[Arr1Size];
char Arr2Name[Arr2Size];
cout << "请输入姓名: " << endl;
cin.get(Arr1Name, Arr1Size).get();
cout << "请输入职业: " << endl;
cin.get(Arr2Name, Arr2Size).get();
cout << endl;
cout << "-----------------------" << endl;
cout << "您输入的姓名: " << Arr1Name << endl;
cout << "您输入的职业: " << Arr2Name << endl;
cout << "-----------------------" << endl;
system("pause");
return 0;
}
4 总结
(1) cin 不能获取含有空格的字符串;
(2) cin.getline() 可以获取含有空格的字符串,但是不能获取换行的字符串;
(3) cin.get() 以上两种的功能均可实现,并且可以获取换行的字符串。