【C/C++】基础知识之string字符串

简介: 【C/C++】基础知识之string字符串

在C/C++中,string是一种常用的字符串类型,其实现是一个类。使用string可以方便地进行字符串的操作。

下面是string的一些基本操作:

创建string对象:可以通过以下方式来创建string对象:

string str1; string str2 = "Hello World"; string str3("I am a string");

获取string对象的长度:可以使用size()或者length()方法来获取string对象中字符的数量。

string str = "Test String"; int len = str.size(); // 等同于 str.length();
cout << "String Length: " << len << endl;

连接字符串:可以使用+号来将两个string对象连接起来,或者使用append()方法来追加一个string对象到另一个对象的末尾。

string str1 = "Hello"; string str2 = "World"; string str3 = str1 + " " + str2; cout << "str3: " << str3 << endl;

string str = "Hello"; str.append(" World"); cout << "str: " << str << endl;

查找字符串:可以使用find()方法来查找string对象中是否包含一个子串,如果找到了则返回子串的首字符所在的索引;如果没有找到则返回string::npos。

string str = "Today is a good day"; int pos = str.find("good"); if (pos != string::npos) { cout << "'good' is at position " << pos << endl; } else { cout << "'good' is not found" << endl; }

截取字符串:可以使用substr()方法来截取一个string对象的子串,参数为起始索引和截取长度。

string str = "Today is a good day"; string sub = str.substr(9, 4); // 从第9个字符开始截取4个字符 cout << "sub: " << sub << endl;

删除字符串:可以使用erase()方法来删除string对象中的一个子串,参数为起始索引和删除长度。

string str = "Today is a good day"; str.erase(9, 4); // 删除从第9个字符开始的4个字符 cout << "str: " << str << endl;

替换字符串:可以使用replace()方法来替换string对象中的一个子串,参数为起始索引、替换长度和替换字符串。

string str = "Today is a good day"; str.replace(9, 4, "a bad"); cout << "str: " << str << endl;

以上是string的一些基本操作,使用string可以让字符串的操作更加方便。

相关文章
|
1月前
|
C++ 容器
|
17天前
|
NoSQL Redis
Redis 字符串(String)
10月更文挑战第16天
30 4
|
21天前
|
存储 安全 C++
【C++打怪之路Lv8】-- string类
【C++打怪之路Lv8】-- string类
17 1
|
29天前
|
canal 安全 索引
(StringBuffer和StringBuilder)以及回文串,字符串经典习题
(StringBuffer和StringBuilder)以及回文串,字符串经典习题
33 5
|
1月前
|
C++ 容器
|
1月前
|
C++ 容器
|
26天前
|
C语言 C++
深度剖析C++string(中)
深度剖析C++string(中)
43 0
|
26天前
|
存储 编译器 程序员
深度剖析C++string(上篇)(2)
深度剖析C++string(上篇)(2)
34 0
|
26天前
|
存储 Linux C语言
深度剖析C++string(上篇)(1)
深度剖析C++string(上篇)(1)
28 0
|
30天前
|
缓存 网络协议 API
C/C++ StringToAddress(字符串转 boost::asio::ip::address)
通过上述步骤和示例代码,你可以轻松地在C++项目中实现从字符串到 `boost::asio::ip::address`的转换,从而充分利用Boost.Asio库进行网络编程。
48 0