中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

實現C++字符串分割的strtok_r方法

c++
小樊
85
2024-08-29 18:27:45
欄目: 編程語言

strtok_r 是一個 C 語言庫函數,用于將字符串分割成一系列的標記

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

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

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

    tokens.push_back(str.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;
}

這個示例中的 split 函數接受一個字符串和一個分隔符作為參數。它使用 std::string::find 方法查找分隔符在字符串中的位置,并將找到的子字符串添加到 tokens 向量中。最后,它返回包含所有子字符串的向量。

main 函數中,我們使用逗號作為分隔符將輸入字符串分割成多個子字符串,并將結果打印到控制臺。

0
邛崃市| 长海县| 贞丰县| 蕲春县| 冀州市| 连南| 修文县| 岗巴县| 洪雅县| 阳朔县| 绥阳县| 东乡族自治县| 永胜县| 邢台市| 通山县| 定陶县| 西贡区| 桦川县| 恩施市| 柞水县| 正镶白旗| 龙里县| 图们市| 清流县| 凉山| 铜山县| 抚顺县| 黄浦区| 嫩江县| 古田县| 石楼县| 永登县| 三亚市| 颍上县| 鸡泽县| 安龙县| 青浦区| 梁河县| 遂川县| 白朗县| 陈巴尔虎旗|