需要 #include <string>
不用关心内存如何分配
无需处理'\0'结束字符
#include <iostream> #include <string> using namespace std; int main() { string s1; string s2 = "Student"; string s3 = s2; string s4(8, 'A'); //8个A cout << "input >>"; cin >> s1; //遇到空格、tab、回车结束 //带空格 >>> getline(cin,s1) cout << s1 << endl << s2 << endl << s3 << endl << s4 << endl; s4 = s1; cout << "s4=" << s4 << " length is>>" << s4.length() << endl; //length() 是 string 类的一个成员函数 s2 = s3 + ' ' + s4; //右边可以是 string 字符串、C风格字符串、或一个 char 字符 cout << "s2=" << s2 << endl; //对字符串进行操作 s3.insert(7, "&Teacher"); //s3 7下标开始(不包括) 插入 cout << "s3=" << s3 << endl; s3.replace(2, 4, "ar"); //s3 2下标开始(不包括) 长度为4的子串 替换 cout << "s3=" << s3 << endl; s1 = s3.substr(6, 7); //s3 6下标开始(不包括) 长度为7字串 cout << "s1=" << s1 << endl; int pos = s3.find("s1"); //s3中找s1,存在则返回 首字符下标,否则返回-1 cout << "pos=" << pos << endl; s3.erase(5, 8); //5下标开始(不包括) 长度8 cout << "s3=" << s3 << endl; bool f = s1 > s4; cout << "f=" << f << " boolalpha>>" << boolalpha << f << endl; return 0; }
string 类型转换为 C语言风格的字符串,使用 .c_str()