- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:整数型の配列を文字型の配列にコピーするとき)
整数型配列を文字型配列にコピーする際に要素数が3である必要性について
このQ&Aのポイント
- 整数型の配列を文字型の配列にコピーする際に、snprintf関数を使用することがあります。
- この場合、文字型配列の要素数は3以上で宣言する必要があります。
- snprintf関数は、整数値を文字列に変換して文字型配列にコピーするため、必要な要素数を確保する必要があります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> なぜこのとき文字型配列は要素数が3で宣言しておく必要があるのですか? 何らかの理由で、先頭の2文字だけが欲しいのであればこれでもよいと思います。 あるいは、3~99のときはそのまま文字列に変換し、それ以外はエラーにするつもりかもしれません(snprintfが2以外を返せばエラーにする)。
その他の回答 (2)
- jacta
- ベストアンサー率26% (845/3158)
回答No.3
#2です。すみません。書き間違いです。 > snprintfが2以外を返せばエラーにする → snprintfが2より大きい値を返せばエラーにする
- asuncion
- ベストアンサー率33% (2127/6289)
回答No.1
i[0]が3~1024の範囲の値を取るのであれば、 ch[]は5バイト以上の領域を確保しておかないと まずいです。 ch[3]では、i[0]が100以上になったとき、 文字列終端の'\0'を含めて格納するには不足しています。
質問者
お礼
やはりそうですよね。 ずっと悩んでいたのでスッキリしました。 ありがとうございます。
お礼
そうですよね。 思い違いじゃなくてよかったです。 どうもありがとうございました。