gpt4 book ai didi

c - 在c中对字符进行分组以形成字符串

转载 作者:行者123 更新时间:2023-11-30 15:40:49 24 4
gpt4 key购买 nike

我正在做一个学校C项目。在项目中,我在 charholdReference[48] 中保存了 48 个字符,每 8 个字符必须形成 1 个字符串。因此,例如:

holdReference[0] = '0';
holdReference[1] = '0';
holdReference[2] = '0';
holdReference[3] = '0';
holdReference[4] = '1';
holdReference[5] = '2';
holdReference[6] = 'd';
holdReference[7] = '8';
....

由8个字符组成的结果字符串保存在char HexReference[6][9]中,这意味着HexReference保存了6个8位长度的字符串。

这是我的代码:

char HexReference[6][9];


int hx = 0;
int indexxx;
int hex = -1;

while(hx<charNumber)
{
if(hx%8 == 0)
{
indexxx = 0;
hex++;
HexReference[hex][indexxx] = holdReference[hx];
indexxx++;
}
else
{

HexReference[hex][indexxx] = holdReference[hx];
indexxx++;
}

hx++;
}
printf("%s" , HexReference[0]); --> prints 000012d8/000017f3

问题是,即使 HexReference[0] 必须保存 000012d8 ,控制台上也会打印 000012d8/000017f3 。 000017f3 必须保存在 HexReference[1] 中。

如果您尽快帮助我,我将非常感激。

最佳答案

您忘记为每个字符串末尾的空终止符“\0”分配足够的空间。而且,由于您将字符一个接一个地放置,因此您还需要手动添加空终止符。

关于c - 在c中对字符进行分组以形成字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20824664/

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