string字符串用法及基础
字符串的输入的方式
(1)先定义
1.string s;
2.char c; 或 char c[(具体的大小)];
区别:string类型的有各种方法,且也是一个字符串数组的封装;而char类型是单字符类型,如果要输入字符串,必须定义为char类型的数组,同时方法类型很少。
(2)输入
1.cin>>s; cin>>c;
2.gets(s); gets(c); 输入字符串
3.getline(cin,s) //读取一行字符串,读入不需要考虑最后的换行符,但是需要知道长度
4.while(cin.get()!='\n') //输入一个字符串,前提没有回车
5.s[i] = getchar() //int i=0 ; ;i++; 一次读入一个字符,直到输入回车键结束
(3)输出
cout<<s;
puts(s);
字符串的方法
(1)strlen(s); //返回字符串s的长度(int型)
(2)字符串转化为整数
例:s="abc";
for(int i=0;i<s.length();i++){
s[i]=s[i]-'a'+n; //n为你想要a成为的任何整数
}
(3)整数转化为字符型
例: int n =3;
char c; c= n+'0'; //整数类型3转化为字符类型3
(4)s.find(c) //在字符串s中寻找字符串c,如果有返回第一次出现的位置,如果没有则返回0(不寻常的0);
例: if(s.find(c) == string::npos) //没有找到的情况下
s.find(c,int pos); //c为查找的字符串,pos为从s字符串pos的位置开始查找
另外: A在Ascall中的位置为65;
a的位置为97;
0的位置为48;
空格的位置为32;
回车键(即'\n')用CR控制符;
(5)s.compare(c);
//若参与比较的两个串值相同,则函数返回 0;若字符串 S 按字典顺序要先于 S2,则返 回负值;反之,则返回正值。
(6)s.append(c);
//将c加到s字符串后面
s.append(n,c); //将n个c添加到s字符串后面