循环遍历\nstring s(\"abcdefg\");\nfor(string::iterator it = s.begin(); it != s.end(); it++)\n{\n cout \u003C\u003C *it;\n}\n\n//逆向迭代器\nfor (string::iterator it = s.rbegin(); it != s.rend(); it++)\n { cout \u003C\u003C *it; } \n\n//采用auto实现迭代器\n\nfor(auto itr : s)\n{\n cout \u003C\u003C itr \u003C\u003C endl;\n}\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n拷贝\nstring s2(s1); // s2是s1的副本\nstring s3 = s2; // s3是s2的副本\n char cs[] = \"12345\";\nstring s7(cs, 3); // 复制字符串cs的前三个字符到s当中\n\nstring s8 = \"abcde\";\nstring s9(s8, 2);\n\nstring s10 = \"asdsfasdgf\";\nstring s11(s10, 3, 4); // s4是s3从下标s开始4个字符的拷贝,超出s10.size\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n存在/包含\nstring s = abcdefg, subs = \"efg\";\nint pos = s.find(subs); // 如果找到子字符串则返回首次匹配的位置,否则返回-1\nif(pos>0){\n 找到\n} else {\n 没找到\n}\n1\n2\n3\n4\n5\n6\n7\n判空\nstring s1 = \"012345\";\nif(!s1.empty()){\n cout \u003C\u003C s1.length \u003C\u003C endl;\n s1.clear();\n}