代码示例:
#include <iostream>
#include "string"
using namespace std;
//字符串初始化
void strInit()
{
cout << "字符串初始化:" <<endl;
string s1 = "abcdefg"; //初始化方式1
string s2("abcdefg"); //初始化方式2
string s3 = s2; //通过拷贝构造函数 初始化s3
string s4(7,'s'); //初始化7个s的字符串
cout << "s1 = "<< s1 << endl;
cout << "s2 = "<< s2 << endl;
cout << "s3 = "<< s3 << endl;
cout << "s4 = "<< s4 << endl;
}
//字符串遍历
void strErgo()
{
cout << "字符串遍历:" <<endl;
string s1 = "abcdefg"; //初始化字符串
//通过数组方式遍历
cout << "1、通过数组方式遍历:" <<endl;
for (int i = 0; i < s1.length(); i++)
{
cout << s1[i] << " ";
}
cout << endl;
//通过迭代器遍历
cout << "2、通过迭代器遍历:" <<endl;
for(string::iterator it = s1.begin(); it!= s1.end(); it++)
{
cout << *it << " ";
}
cout << endl;
//通过at()方式遍历
cout << "3、通过at()方式遍历:" <<endl;
for (int i = 0; i < s1.length(); i++)
{
cout << s1.at(i) << " "; //此方式可以在越界时抛出异常
}
cout << endl;
}
//字符指针和字符串的转换
void strConvert()
{
cout << "字符指针和字符串的转换:" <<endl;
string s1 = "abcdefg"; //初始化字符串
cout << "string转换为char*:" <<endl;
//string转换为char*
cout << s1.c_str() <<endl; //s1.c_str()即为s1的char *形式
cout << "char*获取string内容:" <<endl;
//char*获取string内容
char buf[64] = {0};
s1.copy(buf, 7);//复制7个元素
cout << buf <<endl;
}
//字符串连接
void strAdd()
{
cout << "字符串连接:" <<endl;
cout << "方式1:" <<endl;
string s1 = "123";
string s2 = "456";
s1 += s2;
cout << "s1 = "<< s1 << endl;
cout << "方式2:" <<endl;
string s3 = "123";
string s4 = "456";
s3.append(s4);
cout << "s3 = "<< s3 << endl;
}
int main()
{
//初始化
strInit();
cout << endl;
//遍历
strErgo();
cout << endl;
//字符指针类型和字符串转换
strConvert();
cout << endl;
//字符串连接
strAdd();
cout << endl;
system("pause");
return 0;
}
程序运行结果:
字符串初始化:
s1 = abcdefg
s2 = abcdefg
s3 = abcdefg
s4 = sssssss
字符串遍历:
1、通过数组方式遍历:
a b c d e f g
2、通过迭代器遍历:
a b c d e f g
3、通过at()方式遍历:
a b c d e f g
字符指针和字符串的转换:
string转换为char*:
abcdefg
char*获取string内容:
abcdefg
字符串连接:
方式1:
s1 = 123456
方式2:
s3 = 123456
请按任意键继续. . .
————————————————
版权声明:本文为CSDN博主「lesliefish」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/y396397735/article/details/48596035