溫馨提示×

如何利用c++ string庫函數(shù)分割字符串

c++
小樊
81
2024-09-24 22:19:10
欄目: 編程語言

在 C++ 中,你可以使用 <string> 庫中的 substrfind 函數(shù)來分割字符串。下面是一個(gè)簡單的示例,展示了如何利用這些函數(shù)分割一個(gè)字符串:

#include <iostream>
#include <string>
#include <vector>

std::vector<std::string> split(const std::string& input, char delimiter) {
    std::vector<std::string> tokens;
    std::size_t start = 0;
    std::size_t end = input.find(delimiter);

    while (end != std::string::npos) {
        tokens.push_back(input.substr(start, end - start));
        start = end + 1;
        end = input.find(delimiter, start);
    }

    tokens.push_back(input.substr(start, end));
    return tokens;
}

int main() {
    std::string input = "Hello,World,This,Is,A,Test";
    char delimiter = ',';

    std::vector<std::string> tokens = split(input, delimiter);

    for (const auto& token : tokens) {
        std::cout << token << std::endl;
    }

    return 0;
}

在這個(gè)示例中,我們定義了一個(gè)名為 split 的函數(shù),它接受一個(gè)字符串 input 和一個(gè)分隔符 delimiter 作為參數(shù)。該函數(shù)使用 find 函數(shù)查找分隔符在字符串中的位置,并使用 substr 函數(shù)提取子字符串。然后,將這些子字符串添加到一個(gè) std::vector<std::string> 容器中,并在循環(huán)結(jié)束后返回該容器。

0