目录
1、string的作用
string就是字符串的意思,是c++用来代替char数组的数据结构。里面封装了一些常用的方法,方便我们地对其进行一些操作,而且string的空间大小是动态变化的,大大减小了不必要的花销
2、string常用的输入方法
(1)cin输入,遇到空格停止输入
代码示例:
#include<iostream>//c++标准头文件,可以使用cout,cin等标准编译用法
using namespace std;//命名空间,防止重名给程序带来各种隐患,使用cin,cout,map,set,vector,queue时都要使用
int main(){
string s1,s2;//定义字符串s1、s2
cin>>s1;//输入一个字符串给s1
cin>>s2;//输入一个字符串给s2
cout<<"s1得到的值是: "<<s1<<endl;
cout<<"s2得到的值是: "<<s2<<endl;
}
输入:
hello world!
运行结果:
s1得到的值是: hello
s2得到的值是: world!
(2)getline输入,遇到换行符停止输入
代码示例:
#include<iostream>//c++标准头文件,可以使用cout,cin等标准编译用法
using namespace std;//命名空间,防止重名给程序带来各种隐患,使用cin,cout,map,set,vector,queue时都要使用
int main(){
string s1,s2;//定义字符串s1、s2
getline(cin,s1);//输入一行字符串给s1
getline(cin,s2);//输入一行字符串给s2
cout<<"s1得到的值是: "<<s1<<endl;
cout<<"s2得到的值是: "<<s2<<endl;
}
输入:
hello world!
happy every day!
运行结果:
s1得到的值是: hello world!
s2得到的值是: happy every day!
值得注意的是:
cin输入会自动吃点前置换行和空格,即cin输入得到的不可能是空串。而getline不会吃掉换行符号,可能会使得输入出现意料之外的错误。
示例代码:
#include<iostream>//c++标准头文件,可以使用cout,cin等标准编译用法
using namespace std;//命名空间,防止重名给程序带来各种隐患,使用cin,cout,map,set,vector,queue时都要使用
int main(){
string s1,s2,s3;//定义字符串s1、s2、s3
cin>>s1; //输入一个字符串给s1
getline(cin,s2);//输入一行字符串给s2
getline(cin,s3);//输入一行字符串给s3
cout<<"s1得到的值是: "<<s1<<endl;
// 判断s2是不是空串
if(s2==""){
cout<<"s2是空串" <<endl;
} else{
cout<<"s2得到的值是: "<<s2<<endl;
}
cout<<"s3得到的值是: "<<s3<<endl;
}
输入:
hi!
hello world!
运行结果:
s1得到的值是: hi!
s2是空串
s3得到的值是: hello world!
解决的办法是多写一个getline,或者getchar()来达到吃掉多余的换行符字符:
示例代码:
#i