php中文网

C++ 函数的 STL 函数有哪些用于字符串处理?

php中文网

c++++ stl 中用于字符串处理的主要函数包括:复制 (std::string::copy())、查找 (std::string::find())、替换 (std::string::replace())、提取子字符串 (std::string::substr())、字符串到整数转换 (std::stoi())、整数到字符串转换 (std::to_string())。此外,还提供了一些辅助函数,如单词统计例程中使用的 isalpha() 和 tolower()。

C++ STL 中用于字符串处理的函数

C++ 标准模板库 (STL) 为字符串处理提供了广泛的函数,简化和增强字符串操作。以下是几个最常用的 STL 字符串函数:

  • std::string::copy():将字符串的全部或部分复制到目标字符数组中。
std::string str = "Hello world";
char dest[12];
str.copy(dest, 12); // 复制 "Hello worl" 到 dest,留出空字符
  • std::string::find():搜索子字符串在字符串中的第一个出现位置。
std::string str = "This is a sample string";
size_t pos = str.find("sample"); // pos = 10
  • std::string::replace():将字符串中指定的子字符串替换为新字符串。
std::string str = "C++ is a powerful language";
str.replace(0, 3, "STL"); // 替换 "C++" 为 "STL"
  • std::string::substr():从字符串中提取子字符串。
std::string str = "This is a string";
std::string substring = str.substr(4, 6); // substring = "is a"
  • std::stoi():将字符串转换为整数。
std::string num = "123";
int n = std::stoi(num); // n = 123
  • std::to_string():将整数转换为字符串。
int n = 456;
std::string num = std::to_string(n); // num = "456"

实战案例:单词统计

立即学习“C++免费学习笔记(深入)”;

以下是一个使用 STL 字符串函数实现单词统计的小示例:

#include <iostream>
#include <map>
#include <string>

using namespace std;

int main() {
    string str = "This is a sample string, with multiple words";

    // 创建单词计数 map
    map<string, int> wordCount;

    // 分割字符串并更新计数
    string word;
    for (char c : str) {
        if (isalpha(c)) {
            word += tolower(c);
        } else if (!word.empty()) {
            wordCount[word]++;
            word.clear();
        }
    }

    // 打印单词计数
    for (auto& [word, count] : wordCount) {
        cout << word << ": " << count << endl;
    }

    return 0;
}

以上就是C++ 函数的 STL 函数有哪些用于字符串处理?的详细内容,更多请关注php中文网其它相关文章!