-2

Texas Instrument CCS で、次のような C の文字列を作成しようとしています{steps: nSteps}。json として送信するためにnStepsint次のコードを使用して文字列にも変換したいです。

    void jsonSteps(char* stepstr, int steps)
{
    char x[3];
    const char s1[10], s3[10];
    char s2[10];
    itoa(steps,x,10);
    s1[]="{steps:";

    s3[]="}";
    s2 = strcat(s1, x);
    stepstr = strcat(s2, s3);

}

このエラーがあります

s1[]="{steps:";

s3[]="}"; 

エラーが表示される

「#29 予想される表現」

そしてまた

" #169-D 型 "const char *" の引数は型 " のパラメーターと互換性がありません"

4

2 に答える 2

1

まず第一にassign、c では配列を作成できません。そう、

s1[]="{steps:";

間違っている。strcpy()要素配列にコピーするには、を使用する必要があります。

s3[]="}";s2 = strcat(..種類のステートメントにも同じケースが適用されます。

itoa()はいえ、これは標準C関数ではありませんsprintf()。同じことを達成するために使用する必要があります。

シンプルなツーライナーは次のようになります

 //assuming steps hold the int value
 char buf[128] ={0};
 sprintf(buf, "{steps: %d }", steps);

次に、必要な形式bufの値を持ちます。

于 2015-05-21T09:14:32.647 に答える