如何在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: Vanka

Name is: Vanka

“ Vanka”将存储到变量名中并成功打印。

现在,考虑输出-2。在这里,我给“ Vanka Manikanth”(带空格的名字)。

输出-2

Enter your name: Vanka Manikanth

Name 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 Manikanth

Name is: Mr. Vanka Manikanth

在此,完整的名称/字符串“ Mr. Vanka Manikanth”将存储在变量名称中。

以上是 如何在C ++中读取带空格的字符串? 的全部内容, 来源链接: utcz.com/z/354235.html

回到顶部