【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可以让字符串的操作更加方便。

相关文章
string(字符串)
在 Lua 中,字符串可以用双引号或单引号定义,如 `string1 = &quot;this is string1&quot;` 和 `string2 = &#39;this is string2&#39;`。多行字符串可由两个方括号包围,例如 `html` 变量所示,它包含了一个 HTML 片段。Lua 会尝试将数字字符串转换为数值进行算术运算,但混合字符串和数字可能导致错误,如 `&quot;error&quot; + 1`。
|
2天前
|
算法 C++ 容器
【C++】string模拟实现
【C++】string模拟实现
8 1
|
2天前
|
C语言 C++
【C++】string类(常用接口)
【C++】string类(常用接口)
10 1
|
2天前
|
C++
【C++】string类(介绍、常用接口)
【C++】string类(介绍、常用接口)
11 2
|
12天前
|
缓存 安全 Java
【Java基础】String、StringBuffer和StringBuilder三种字符串对比
【Java基础】String、StringBuffer和StringBuilder三种字符串对比
7 0
|
13天前
|
存储 编译器 C语言
C++字符串大小写之for语句
C++字符串大小写之for语句
16 0
|
14天前
|
算法 Linux C语言
【C++进阶(一)】STL大法以及string的使用
【C++进阶(一)】STL大法以及string的使用
|
14天前
|
C++
【C++】std::string 转换成非const类型 char* 的三种方法记录
【C++】std::string 转换成非const类型 char* 的三种方法记录
7 0
|
14天前
|
C++
【代码片段】【C++】获取当前时间戳并生成固定格式字符串
【代码片段】【C++】获取当前时间戳并生成固定格式字符串
14 0
|
15天前
|
C++
c++的学习之路:11、string(3)
c++的学习之路:11、string(3)
17 0