代码示例:
#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