C++输入字符串string类型的常用方法

cin输入字符串不能有空格

string str;
cin>>str;
当执行上述语句时,若输入“hello world!”,则只会输出hello。

因为cin语句输入时,遇空格结束,不能用cin输入多个单词。

解决办法:
①getline(cin,str)(包含头文件#include

注意:gets()函数不能输入字符串,因为gets(s)中,s为字符串数组名或字符串指针。如果用gets(str)就会错误,str是string类型的变量,既不是数组名也不是字符串指针。
②利用指针调用gets()
如①所述,gets()括号内必须为指针,除此之外,括号内还必须为char类型指针,即gets(char *)。要想用gets()输入string字符串,先定义指针:

	string str="   ";  //n个空格,str长度就为n 
	char *p;
	p=&str[0];   //将str字符串的首地址传给指针p,使p指向字符串str
	gets(p);
	cout<<str; 

你可能感兴趣的:(C++)