以下代码显示整数值:
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);
alt。在堆栈上分配
char hexVal[100];
关于c - 将整数值存储为C中的字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26753403/