C++字串常用API
阿新 • • 發佈:2018-12-10
#include<iostream> #include<string> #include<cstdlib> using namespace std; int main(){ string str = "Be yourself"; //提取字串, 從第三位開始, 長度為8 string sub_str = str.substr(3, 8); cout << "Substr:" << sub_str << endl; //在字串末尾新增字元, 不能是字串 str.push_back('!'); cout << "Push_back:" << str << endl; //插入字串 string insert_str = "-->"; str.insert(2, insert_str); cout << "Insert:" << str << endl; //從第二位開始插入字串的一部分(第0位開始後的2個字元) str.insert(2, insert_str, 0, 2); cout << "New_Insert:" << str << endl; //替換字串, 替換從下標為2的位置開始, 長度為2的字串 str.replace(2, 2, " "); cout << "Replace:" << str << endl; //刪除字串, 下標為2開始後的3個字元 str.erase(2, 4); cout << "Erase:" << str << endl; //str.begin(), str.end()返回的是迭代器 str.erase(str.begin() + 1, str.end() - 1); cout << "Erase:" << str << endl; str = "abcdefabc"; //正向匹配 cout << "Find:" << str.find("abc") << endl; //逆向匹配 cout << "Rfind:" << str.rfind("abc") << endl; //拷貝從0開始的4個字元 string copy_str; copy_str.assign(str, 0, 4); cout << "Copy:" << copy_str << endl; //比較字串, 大於返回1, 相等返回0, 小於返回-1 string cmp_str1 = "abc"; string cmp_str2 = "abb"; int cmp_result = cmp_str1.compare(cmp_str2); cout << "Compare:" << cmp_result << endl; //把整數寫入到字元陣列中 char num_to_char[5]; sprintf(num_to_char, "%d", 2333); cout << "Num_to_char:" << num_to_char << endl; //string轉化為int, 標準庫<cstdlib> string str_to = "1.314"; int str_to_int_result = atoi(str_to.c_str()); cout << "Str_to_int.c_str():" << str_to.c_str() << endl; cout << "Str_to_int_result:" << str_to_int_result << endl; //string轉化為float double str_to_float_result = atof(str_to.c_str()); cout << "Str_to_float_result:" << str_to_float_result << endl; //int轉化為string, 語言標準需設定成C++11 int int_to_str = 20; cout << "To_String:" << to_string(int_to_str) << endl; }
執行結果: