• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:整数型の配列を文字型の配列にコピーするとき)

整数型配列を文字型配列にコピーする際に要素数が3である必要性について

このQ&Aのポイント
  • 整数型の配列を文字型の配列にコピーする際に、snprintf関数を使用することがあります。
  • この場合、文字型配列の要素数は3以上で宣言する必要があります。
  • snprintf関数は、整数値を文字列に変換して文字型配列にコピーするため、必要な要素数を確保する必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • jacta
  • ベストアンサー率26% (845/3158)
回答No.2

> なぜこのとき文字型配列は要素数が3で宣言しておく必要があるのですか? 何らかの理由で、先頭の2文字だけが欲しいのであればこれでもよいと思います。 あるいは、3~99のときはそのまま文字列に変換し、それ以外はエラーにするつもりかもしれません(snprintfが2以外を返せばエラーにする)。

noname#46996
質問者

お礼

そうですよね。 思い違いじゃなくてよかったです。 どうもありがとうございました。

その他の回答 (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'を含めて格納するには不足しています。

noname#46996
質問者

お礼

やはりそうですよね。 ずっと悩んでいたのでスッキリしました。 ありがとうございます。