如何在C ++中读取带空格的字符串?
在本章中,我们将学习如何在C ++中读取带有空格的完整字符串?
要读取任何类型的值(例如整数,浮点数和字符),我们使用cin,cin是istream类的对象,它告诉编译器从输入设备读取值。
但是,在读取string的情况下,cin不能正常工作。
让我们使用cin读取字符串
#include <iostream>using namespace std;
int main(){
char name[100]={0};
//读取名称
cout<<"Enter your name: ";
cin>>name;
//打印名称
cout<<"Name is: "<<name<<endl;
return 0;
}
现在,考虑输出-1。在这里,我给“ Vanka”(一个没有空格的名字)。
输出-1
Enter your name: VankaName is: Vanka
“ Vanka”将存储到变量名中并成功打印。
现在,考虑输出-2。在这里,我给“ Vanka Manikanth”(带空格的名字)。
输出-2
Enter your name: Vanka ManikanthName is: Vanka
在这种情况下,字符串将在找到的空格处终止,只有“ Vanka”会存储在变量名中。
现在,如何在C ++中读取带空格的字符串?
我们可以使用一个函数getline()
,该函数可以读取字符串,直到找不到enter(返回键)为止。
使用cin.getline()读取带空格字符串
getline()是istream类的成员函数,用于读取带空格的字符串,以下是getline()
函数的以下参数[了解更多有关std::istream::getline的信息]
语法:
istream& getline (char* s, streamsize n );
char * s:存储字符串的字符指针(字符串)
streamsize n:读取字符串的最大字符数
考虑给定的程序
#include <iostream>using namespace std;
int main(){
char name[100]={0};
//读取名称
cout<<"Enter your name: ";
cin.getline(name,100);
//打印名称
cout<<"Name is: "<<name<<endl;
return 0;
}
考虑给定的输出;在这里,我给“ Mr. Vanka Manikanth”(一个在单词之间包含两个空格的名称)。
输出结果
Enter your name: Mr. Vanka ManikanthName is: Mr. Vanka Manikanth
在此,完整的名称/字符串“ Mr. Vanka Manikanth”将存储在变量名称中。
以上是 如何在C ++中读取带空格的字符串? 的全部内容, 来源链接: utcz.com/z/354235.html