文字列を連結しているときに問題が発生しています。これは愚かな質問だと思いますが、回答が得られませんでした。なぜ投稿していますか?ソースコードは文字列を連結する際に不要な値を取得する
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);
}
バフ値を印刷した後、私は
{"category":"FMCG","amount":1500.00},{"category":"FMCG00"amount":1500.00},{"category":"FMCG00"amount":1500.00},{"category":"FMCG00"amount":1500.00}
を取得していますされ
私が取得しています:"FMCG,FMCG00,FMCG00..."
これはなぜ起こるのでしょうか?私はFMCG ..にarr-10の値をハードコード化しました。事前に
おかげで....
'buf'はどのように宣言されていますか? – sharptooth
'buff'はどのように宣言されていますか?あなたがそれをオーバーランされている可能性は非常に高いです。 –