建网站哪个好,欧米茄官方网站,新零售社交电商平台,取消wordpress还原介绍 首先#xff0c;先说明#xff0c;string在C的string头文件中定义#xff0c;而在C语言中的字符串就是字符数组#xff0c;在C中#xff0c;string容器相当于C语言中的字符数组#xff0c;string比C语言中的字符数组更为好用#xff0c;如#xff1a;C中cin/cout可…介绍 首先先说明string在C的string头文件中定义而在C语言中的字符串就是字符数组在C中string容器相当于C语言中的字符数组string比C语言中的字符数组更为好用如C中cin/cout可以直接读写string类型但却不能读写字符数组string还可以像整数那样相加并且string容器还支持许多流式的读写以及各种的函数和运算符操作但是string的运算速度有些慢。 一string的赋值操作
1直接用string函数进行初始化 具体功能和解释如下
#includeiostream
#includestring
using namespace std;
int main()
{string s1;const char* a abcd;string s2(a);//进行初始化s2,等效于s2 acout s2 s2 endl;s1 s2;//不可s1 a,因为在此种数组结构中string形式才可以直接赋值cout s1 s1 endl;string s4(10, a);//放入10个a,这里第二个参数只能是字符不能是串cout s4 s4 endl;string s5(a, 1, 2);//从a第1个位置上开始的2个元素放入s5中cout s5 s5 endl;string s6(abcdef,5);//将串abcdef的前5个元素赋给s6cout s6 s6 endl; return 0;
} 在这里要说明的是运用以上方式进行赋值时不能先建立后赋值必须建立时就进行初始化。即 //以下是错误的运用 #includeiostream #includestring using namespace std; int main() { string s1; const char* a abcd; string s2; s2(a); string s4; s4(10, a); string s5; s5(a, 1, 2); string s6; s6(abcdef, 5); return 0; } 2assrgn函数的赋值操作 在很多情况我们需要对string进行赋值操作若要用类似于以上的方式进行赋值要用string容器中所支持的assign函数如下代码 //以下是正确的用法 #includeiostream #includestring using namespace std; int main() { string s1; const char* a abcd; string s2; s2.assign(a); string s4; s4.assign(10, a); string s5; s5.assign(a, 1, 2); string s6; s6.assign(abcdef, 5); return 0; } 以上是常见的assign四种赋值操作。
二添加串append的运用 append的作用跟C语言中的strcat函数作用相同(但要比此结构高级很多)此函数可在不不同位置进行添加运用比较灵活。 C容器string中支持append的运用此函数的用法与assig的用法一样只是功能不同罢了前面代码已经说明了很清楚了这种用法在这里我就直接用代码跟大家演示
#includeiostream
#includestring
using namespace std;
int main()
{string s7;s7.append(abc);//将 abc加在s7的末尾cout s7 s7 endl;s7.append(abcdef, 3);//将数组abcdef的前3个字符加在s7的后面cout s7 s7 endl;s7.append(5, w);//将5个字符w加在s7的末尾cout s7 s7 endl;s7.append(s7, 4, 3);//截取从s7的第4个下标字符开始往后的3个字符下标从0开始cout s7 s7 endl;return 0;
}
三string容器的插入删除访问截取操作 插入操作的函数是insert删除操作的操作有erase和pop(其中erase的删除比较灵活pop删除操作在string容器支持中只能删除首元素)访问元素可以用C语言中的符号[]或这C中的at截取操作有substr。具体使用如下代码
#includeiostream
#includestring
using namespace std;
int main()
{//insert插入操作string s1 abc;s1.insert(1, 123);//从第1个位置起插入123串下标从0开始cout s1 s1 endl;s1.insert(0, 2, 5);//向开头位置插入2个字符5第三个参数不能为串只能为字符cout s1 s1 endl;//at访问操作s.at(i)等效于s[i]string s abcdefg;cout s ;for (int i 0; i s.size(); i) {cout s.at(i) ;}cout endl;//erase和pop删除操作的运用string str1 abcdefg;str1.pop_back();//删除末尾元素的操作cout str1 str1 endl;str1.erase(1, 3);//从第1个下标起删除三个字符,下标从0开始cout str1 str1 endl;//substr获取截取子串的运用string str2 abcdef;string a str2.substr(1, 3);//从str的第1个下标起截取3个字符赋给acout a a endl;return 0;
} 总以上就是C中容器string的几种常规操作对于初学者而言C的语法和运用层次虽然简单但C的语法过多结构凌乱可能导致学者容易过忘本文章将其中常规的操作基本全部整理融合方便学者学习可记忆希望得到大家支持。