C++ String常用函数详解

版权申诉
0 下载量 94 浏览量 更新于2024-08-22 收藏 25KB DOC 举报
"C++中的string常用函数用法总结" C++中的`std::string`类是处理文本字符串的标准工具,提供了丰富的功能和便利性。它不仅简化了内存管理,还支持许多内置操作,使得字符串处理更为高效和安全。在C++程序中,`<string>`头文件是使用`std::string`的关键,它包含了所有相关的定义和方法。 1. **声明与初始化** - 可以通过`string Str;`来声明一个字符串变量,这会调用默认构造函数,初始化为空字符串。 - `string Str("hello");`则使用字符数组初始化字符串。 - `string Str = "world";`等同于上面的初始化方式,使用赋值操作符`=`。 - 还有其他多种构造函数,如拷贝构造函数、基于子串或C-style字符串的构造等。 2. **赋值与比较** - `=`用于赋值,例如`Str = "new value";`。 - `==`用于比较字符串内容是否相同,`!=`, `<`, `>`, `<=`, `>=`也支持对字符串的比较。 3. **操作函数** - `assign()`函数允许我们将新的字符串或字符序列赋值给已有的字符串。 ```cpp Str.assign("another value"); ``` - `swap()`用于交换两个字符串的内容,非常高效。 ```cpp string anotherStr; Str.swap(anotherStr); ``` - `append()`或`+`运算符可以用来连接字符串。 ```cpp Str.append(" more text"); string concatenation = Str + " even more!"; ``` - `insert()`可以在指定位置插入字符串或字符。 - `erase()`可以删除字符串的指定部分。 - `find()`和`find_last_of()`用于查找子串或字符的位置。 - `replace()`用于替换字符串的一部分。 - `substr()`获取字符串的子串。 - `length()`或`size()`返回字符串的长度。 - `empty()`检查字符串是否为空。 - `resize()`改变字符串的大小。 - `clear()`清除字符串的所有字符。 4. **C-style字符串转换** - `c_str()`返回一个指向C-style字符串的指针,可用于兼容C库的函数。 - `data()`与`c_str()`类似,但不保证末尾的空字符。 5. **迭代器** - `string`类支持迭代器,可以像容器一样遍历其中的字符。 6. **异常安全** - `string`类设计时考虑了异常安全,比如在分配内存失败时会抛出`std::bad_alloc`异常。 7. **其他函数** - `compare()`用于字符串之间的比较,返回值可以用来判断大小关系。 - `getline()`从输入流中读取一行直到指定的分隔符或结束符。 `std::string`类提供了一套全面的接口,方便在C++中处理字符串。它的使用广泛,无论是简单的字符串操作还是复杂的文本处理,都能游刃有余。了解并熟练掌握这些函数,将极大提高代码的效率和可读性。