gpt4 book ai didi

c - 在 C 中将整数值存储为字符串

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

以下代码打印整数值:

for ( i=0 ; i<COL ; i++ )
{
fprintf(iOutFile,"%02x ",(int)(iPtr[offset]));
}

我想将这些整数值作为字符串存储在字符指针中。为此,我尝试了以下代码,但它不起作用。

    char *hexVal="";
char *temp;
int val;

for ( i=0 ; i<COL ; i++ )
{
fprintf(iOutFile,"%02x ",(int)(iPtr[offset]));
val = (int)(iPtr[offset]);
temp=(char*) val;
hexVal = strcat(hexVal,temp);
}
printf("%s", hexVal);

谢谢......

最佳答案

当你写的时候

char* hexVal = "";

您将 hexVal 设置为指向字符串文字,稍后在代码中尝试 strcat 到该地址,这将导致未定义的行为。

您需要做的是分配足够大的区域来容纳生成的字符串,然后让 hexVal 指向该区域。

例如

char* hexVal = malloc(100); // or how much bytes you need

然后就这样做

strcat(hexVal, temp);

替代。在堆栈上分配

char hexVal[100];

关于c - 在 C 中将整数值存储为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26753403/

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