gpt4 book ai didi

c++ - 将 32 个字符的字符串拆分为 4 组,每组 8 个

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:16:19 25 4
gpt4 key购买 nike

我有一个看起来像这样的字符串:

str = "751CEC132EB348978013CE7AF8375137"

长度为 32 个字符。我想将其修改为如下所示:

{0x751CEC13,0x2EB34897,0x8013CE7A,0xF8375137}

我知道,如果我可以将字符串分成 4 组(每组 8 个字符),我可以使用这些组和一个字符串流轻松构造所需的字符串。

在 python 中执行此操作的一种简单方法是:

'{0x%s,0x%s,0x%s,0x%s}'%(str[0:8],str[8:16], str[16:24], str[24:32])

我如何在 C++ 中执行此操作?我不太熟悉像“sscanf”这样的低级函数,但听起来它们可以派上用场。

最佳答案

string strarray[4];
strarray[0] = "0x" + str.substr(0, 8);
strarray[1] = "0x" + str.substr(8, 8);
strarray[2] = "0x" + str.substr(16, 8);
strarray[3] = "0x" + str.substr(24, 8);

如果 {0x751CEC13,0x2EB34897,0x8013CE7A,0xF8375137} 是一个完整的字符串,则使用以下行:

ostringstream strm;
strm << "{" << "0x" << str.substr(0, 8) << ",0x" << str.substr(8, 8)
<< ",0x" << str.substr(16, 8) << ",0x" << str.substr(24, 8) << "}";
str = strm.str();

关于c++ - 将 32 个字符的字符串拆分为 4 组,每组 8 个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11779755/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com