2011-09-28 22 views
0

私はconst char* FunctionName型のポインタを持っていますが、どのようにして警告やエラーを起こさずにタイプの​​に入れることができますか?cでの文字配列の処理

私はこの `のstrcpy((&ペイロード[1])、FunctionNameは)のような試み;:スペースがpayload[1]

更新から出発してもpayload[0]は、既に文字値で満たされています今働いている。

もう1つ質問がありますが、文字列全体をコピーするのではなく、どのようにポインタ(FunctionName)をpayload[1]に入れることができますか?どの割り当てステートメントを通して?

/R

+0

あなたはこれまで何を持っていますか? –

答えて

3
strncpy(&payload[1], FunctionName, 98); 
payload[99] = '\0'; 

FunctionNameのは、NULL終端以上前に98個の文字を持っている場合には、安全でなければなりません。

+0

FunctionNameの文字数が98文字未満の場合はどうなりますか? NULL終止符をどこに置くべきですか? –

+0

'strncpy'は、FunctionNameがそれよりも短い場合、最大98のNULLをバッファに埋め込みますので、別のことをする必要はありません。 – Vicky

+0

それは働いた..パディングが自動的に行われると、 'payload [99] = '\ 0';'ステートメントは必要ないと思いませんか? –

関連する問題