2
2つのconst char *文字列を連結しようとしています。 strcatはrestrict * charを予期していますか?
私はstrcat(a,b)
のような文を持って
expected ‘char * restrict’ but argument is of type ‘const char *’
警告を生成しませんSTRCATを呼び出す方法がありますを取得しますか? ありがとう!
2つのconst char *文字列を連結しようとしています。 strcatはrestrict * charを予期していますか?
私はstrcat(a,b)
のような文を持って
expected ‘char * restrict’ but argument is of type ‘const char *’
警告を生成しませんSTRCATを呼び出す方法がありますを取得しますか? ありがとう!
strcat()
は、第1オペランドを変更します。したがって、const
にすることはできません。しかし、あなたはそれをconst char*
に渡しました。
strcat()
を2つのconst *char
文字列に使用することはできません。
大変ありがとうございます。それはいくつかの醜い記述につながりましたが、 'char * c = strcat(a、b);というよりもうまく動作します。 '私は' char * c = strcat(strcat(c、a)、b); '私は既にmallocされていることを前提としています。 – user974703
@ user974703: 'malloc' *と*は、' malloc'があなたのためにそれをしないので、 'c'が指すメモリをゼロに設定することをお勧めします。あるいは 'strcat(strcpy(c、a)、b);'を使ってください。あるいは、 'strcat'はあまり効率的ではないので、' sprintf(c、 "%s%s"、a、b); ' –