用C 中的4个字符将字符串拆分

Splitting a string by 4 chars in c++

本文关键字:字符串 拆分 字符 4个 中的      更新时间:2023-10-16

我有一个有关拆分字符串的问题。我正在努力创建一个二进制转换器,并希望将我的二进制序列分开,该序列用4个字符表示为字符串,以便我可以轻松地将每组4个位转换为十六进制形式:

示例:

00000111010110111100110100010101

会变成:

"0000", "0111", "0101", "1011", "1100", "1101", "0001", "0101"

感谢您提供的任何帮助!

使用std::string::substr函数和简单的循环您可以将字符串分为4组,然后将它们推入std::vector<std::string>,如下所示...

#include <iostream>
#include <vector>
#include <string>
int main() {
    std::string nums = "00000111010110111100110100010101";
    std::vector<std::string> bins;
    for (std::size_t i = 0; i < nums.size(); i += 4)
        bins.push_back(nums.substr(i, 4));
    return 0;
}

然后 bins变成了一个 std::vector,填充了二进制数字。