C++ string字符串基本操作

定义和初始化 string 对象

1. 默认初始化
#include <iostream>
#include <string>
using namespace std;

int main() {
    string str;
    cout << "Default initialized string: '" << str << "'" << endl;
    return 0;
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

运行结果:

Default initialized string: ''
  • 1.
2. 从 C 风格字符串初始化
#include <iostream>
#include <string>
using namespace std;

int main() {
    string str = "Hello";
    cout << "Initialized from C-style string: '" << str << "'" << endl;
    return 0;
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

运行结果:

Initialized from C-style string: 'Hello'
  • 1.
3. 复制初始化
#include <iostream>
#include <string>
using namespace std;

int main() {
    string str1 = "Hello";
    string str2 = str1;
    cout << "Copied string: '" << str2 << "'" << endl;
    return 0;
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

运行结果:

Copied string: 'Hello'
  • 1.
4. 部分复制
#include <iostream>
#include <string>
using namespace std;

int main() {
    string str = string("Hello World", 5);
    cout << "Partially copied string: '" << str << "'" << endl;
    return 0;
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

运行结果:

Partially copied string: 'Hello'
  • 1.
5. 重复字符
#include <iostream>
#include <string>
using namespace std;

int main() {
    string str(5, 'a');
    cout << "String of repeated characters: '" << str << "'" << endl;
    return 0;
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

运行结果:

String of repeated characters: 'aaaaa'
  • 1.

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;
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

运行结果:

After append: 'Hello there!'
  • 1.
2. 插入
#include <iostream>
#include <string>
using namespace std;

int main() {
    string str = "Hello";
    str.insert(5, " World");
    cout << "After insert: '" << str << "'" << endl;
    return 0;
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

运行结果:

After insert: 'Hello World'
  • 1.
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;
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

运行结果:

'World' found at position: 6
  • 1.
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;
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

运行结果:

After replace: 'Hello there'
  • 1.
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;
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

运行结果:

Substring: 'Hello'
  • 1.