• ベストアンサー

C言語の質問

int hensuu; char *buf; hensuuに格納された値をbufにコピーしたいのですが どうすればいいですか、教えてください。

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

  • ベストアンサー
  • VeryKasu
  • ベストアンサー率66% (2/3)
回答No.1

hensuuに格納された値を文字列に変換したいということですよね? buf = (char*)malloc(sizeof(char) * 10); sprintf(buf, "%d", hensuu); 多分こんな感じですかね。綴りが間違えてるかもしれませんが… malloc関数で10文字分のメモリ領域を確保。 sprintf関数を使ってhensuuの値を文字列に変換し、さきほど確保したメモリ領域にコピー。 文字列は最後にヌル文字(\0)が入りますので、10文字分の領域なら9桁の整数を格納することができるはずです。 ただmalloc関数を使うよりは、 char buf[10]; などとしてあらかじめ領域を確保していたほうがいいかもしれません。 用途にもよりますが…

kamji
質問者

お礼

ご丁寧に教えて頂きまして どうもありがとうございました。 解決致しました。

その他の回答 (1)

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

> hensuuに格納された値をbufにコピーしたいのですが 文字通りの意味に解釈すると、 buf = hensuu; ただし、char*型がint型の値を格納できるかどうかは処理系に依存しますし、格納できなかった場合の動作は未定義になります。また、格納した値は、再びint型に変換した場合にのみ意味をなします。 以上は、単なるC言語の質問に対する回答ですが、インターネットビジネスのカテゴリで質問されている以上は、何か言外の事情があるのではないでしょうか?質問文から察するには限界がありますので、もう少し詳しい事情を補足してください。

kamji
質問者

お礼

申し訳ありません。 深い意味はございません。 No.1の方の答えで解決致しました。

関連するQ&A