C++ string字符串基本操作
定义和初始化 string 对象
1. 默认初始化
#include <iostream> #include <string> using namespace std; int main() { string str; cout << "Default initialized string: '" << str << "'" << endl; return 0; }
运行结果:
Default initialized string: ''
2. 从 C 风格字符串初始化
#include <iostream> #include <string> using namespace std; int main() { string str = "Hello"; cout << "Initialized from C-style string: '" << str << "'" << endl; return 0; }
运行结果:
Initialized from C-style string: 'Hello'
3. 复制初始化
#include <iostream> #include <string> using namespace std; int main() { string str1 = "Hello"; string str2 = str1; cout << "Copied string: '" << str2 << "'" << endl; return 0; }
运行结果:
Copied string: 'Hello'
4. 部分复制
#include <iostream> #include <string> using namespace std; int main() { string str = string("Hello World", 5); cout << "Partially copied string: '" << str << "'" << endl; return 0; }
运行结果:
Partially copied string: 'Hello'
5. 重复字符
#include <iostream> #include <string> using namespace std; int main() { string str(5, 'a'); cout << "String of repeated characters: '" << str << "'" << endl; return 0; }
运行结果:
String of repeated characters: 'aaaaa'
string 对象上的操作
1. 添加
#include <iostream> #include <string> using namespace std; int main() { string str = "Hello"; str += " there"; str.append("!"); cout << "After append: '" << str << "'" << endl; return 0; }
运行结果:
After append: 'Hello there!'
2. 插入
#include <iostream> #include <string> using namespace std; int main() { string str = "Hello"; str.insert(5, " World"); cout << "After insert: '" << str << "'" << endl; return 0; }
运行结果:
After insert: 'Hello World'
3. 查找
#include <iostream> #include <string> using namespace std; int main() { string str = "Hello World"; size_t pos = str.find("World"); cout << "'World' found at position: " << pos << endl; return 0; }
运行结果:
'World' found at position: 6
4. 替换
#include <iostream> #include <string> using namespace std; int main() { string str = "Hello World"; str.replace(6, 5, "there"); cout << "After replace: '" << str << "'" << endl; return 0; }
运行结果:
After replace: 'Hello there'
5. 获取子字符串
#include <iostream> #include <string> using namespace std; int main() { string str = "Hello World"; string sub = str.substr(0, 5); cout << "Substring: '" << sub << "'" << endl; return 0; }
运行结果:
Substring: 'Hello'