gpt4 book ai didi

c - 连接字符串时获得不必要的值

转载 作者:行者123 更新时间:2023-11-30 16:01:34 25 4
gpt4 key购买 nike

我在连接字符串时遇到问题。我认为这是一个愚蠢的问题,但我没有得到答案。这就是我在这里发帖的原因。请帮助我。

源代码为

unsigned char arr_25[] = "{\"category\":\"",
arr_10[]="FMCG",
arr_26[]="\"amount\":",
arr_11[]="\",",
arr_12[]="1000",
arr_13[]="}";

float amount=1500,totamount=2500;

for(i=0;i<=count;i++)
{
if(i>0)
strcat(buff,",");

strcat(buff,arr_25);
strcat(buff,arr_10);//I am getting unnecessary value while printing this arr_10
strcat(buff,arr_11);
strcat(buff,arr_26);

memset(arr_12,0,sizeof(arr_12));

sprintf(arr_12,"%.2f",amount);
printf("\n the amount is %s \n",arr_12);

strcat(buff,arr_12);
strcat(buff,arr_13);
}

打印我得到的 buff 值后

{"category":"FMCG","amount":1500.00},{"category":"FMCG00"amount":1500.00},{"category":"FMCG00"amount":1500.00},{"category":"FMCG00"amount":1500.00} 

我得到:“FMCG,FMCG00,FMCG00...”

为什么会出现这种情况?因为我将 arr-10 值硬编码为 FMCG..?

提前致谢......

最佳答案

我不知道这是否是直接原因,但你肯定超出了arr_12。您已将其定义为大小 5,然后将“1500.00”写入其中。

关于c - 连接字符串时获得不必要的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6407837/

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