我有一个关于拆分字符串的问题。我正在创建一个二进制到十六进制的转换器,并且希望将我的二进制序列(用4个字符表示为一个字符串)进行拆分,以便我可以轻松地将每组4位转换为十六进制形式:
例子:
00000111010110111100110100010101
会变成:
"0000", "0111", "0101", "1011", "1100", "1101", "0001", "0101"
感谢您提供的任何帮助!
使用该std::string::substr
函数和一个简单的for循环,您可以将字符串细分为4组,然后将它们压入a 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
充满细分的二进制数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句