引言
大家以前学习C语言的过程中了解并没有独立的字符串种类,仅有字符型,针对操作字符串而言只有用字符型二维数组来进行,对标识符的有关操作也是非常不便,可是我们在学习c 后针对字符串的操作是极为便捷和简易的。
大家接下来要学习的string类是c 的扩展库,促使大家对字符串的操作越来越简易,严格意义上来说是属于字符串目标,这一类库里边有很多对字符串操作的方式,下面我们一起来学习一些较为常见的字符串操作。
字符串的界定
大家来说一下咱们的字符串界定:
string str1;
string str2=”hello word”;
string str3(“hello word”);
我们要了解的是大家string类是可以全自动解决大家字符串尺寸的,就例如你str的申明建立了一个长短为0的字符串目标,可是假如你对str1开展键入取值的情况下,它的长短会全自动发生改变,这促使它比大家的二维数组更为的便捷和安全性,不容易存有越境问题。
字符串键入和导出
我们在c 中采用的插入和导出应用的是cout和cin在界定好二维数组后就可以对字符串开展导入和导出,例如下边的编码:
string str;//界定一个字符串str
cin>>str; //应用cin对字符串开展取值
cout<<str<<endl;//应用cout导出字符串
字符串取值、拼凑和额外
我们可以根据字符串的这好多个操作看出去string对解决字符串的强劲的地方了。在学习C语言的过程中我们知道要把字符串str1取值给str2 大家必须应用拷贝函数公式strcpy,可是人们的c 中可以立即应用等于号;
strcpy(str2,str1)//C语言中把str1的值取值给str2
str2 = str1 //c 中str1的值赋值给字符串str2;
大家再来说一下字符串的拼凑把str1和str2开展拼凑:
strcat(str1,str2);//C语言中字符串的拼接应用strcat
str2=str1 str2//c 中大家应用“ ”号对字符串开展拼凑。
字符串的别的操作
除开以上的操作string别的常见的方式 以外string也有许多有意思的操作我们一起来看一遍:
1、建立一个包括n个原素,每一个原素复位为特定原素例如:string str1(3,A);导出结论会是“AAA”。
2、把str1取值给str2 :string str2(str1)或是str2=str1;
3、获得字符串的尺寸和大小应用:str.size()和str.length();
4、字符串增加把str2追加到str1后边:str1 =str2、str1.append(str2)。
5、较为字符串是不是相同:str1==str2 或是str1 !=str2;
6、获得str1中的子字符串:str1.substr(n,m),从str1的第n字符逐渐取m字符。
7、获得字符串中某一标识符:str[n]、或是str.at(n)获得str字符串中第n字符。
除开这种简洁的操作实际上string的可以建立的办法也有许多,例如搜索,删掉,插进等方式,有兴趣的朋友们可以自已去试一试。
编码检测
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str1(3,\'A\');
cout<<str1<<endl;
string str2=\"hello word\";
int a=str2.size();
int b=str2.length();
cout<<\"str2 长短:\"<<a<<\" \"<<b<<endl;
string str3=\"hello\";
string str4=\" word\";
str3 =str4;
cout<<\"拼凑:\"<<str3<<\" \"<<endl;
str3.append(str4);
cout<<\"拼接:\"<<str3<<\" \"<<endl;
string str5=\"hello\";
string str6=\"hello\";
string str7=\"word\";
if(str6 == str5)
{ cout<<\"相同\"<<endl;}
if(str7 != str5)
{ cout<<\"不相等\"<<endl;}
string str8=\"ABCDEFG\";
string str9=str8.substr(2,3);
cout<<\"str9:\"<<str9<<endl;
cout<<\"str8[2]:\"<<str8[2]<<endl;
return 0;
}
string和C语言中标识符函数公式比照
在刚叙述字符串拼凑和取值的情况下独立取出而言了一下,主要是为了更好地如今和大伙儿再再说一下她们中间的差别,大家C语言尽管说还可以完成对字符串的有关操作,可是相对性不便,可是除开不便大家应当还需要了解此外一个关键的是层面:
大家函数公式strcat()在取值的过程中会存有总体目标内存不够,没法储存的风险,或许会遮盖邻近的运行内存。很有可能会造成程序流程停止运作。可是人们的string会自行调节尺寸可以非常好防止这一失误的产生。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。