[H8-ML(2143)] Re: [H8-ML(2137)] Re: 型変換に関して
From: "siro" <siroma@xxxxxxxxxxxxxx>
Date: 2002年08月12日(月)10時46分18秒
藤原様

回答有難う御座いました。

教えていただいた関数を作成していれた所うまく動きました。
(sprintfではないほう)

自分が思っていたとおりの結果が出ました。
有難う御座いました。
その他回答いただいた皆様有難う御座いました。

これからも宜しくです。

----- Original Message -----
From: "FUJIHARA Keiichi" <keiichi@xxxxxxxxxxxxx>
To: <h8@xxxxxxx>
Sent: Monday, August 12, 2002 9:27 AM
Subject: [H8-ML(2137)] Re: 型変換に関して


>  藤原と申します。
>
> This message is reply to siro - san
> (Subject was : [H8-ML(2132)] 型変換に関して)
>
> Message-ID: <005301c2415e$4c9faf60$0200a8c0@sirobd009wepk7>
> in Mon, 12 Aug 2002 02:41:17 +0900 ...
>
> > int型からchar型に変換する方法が判りません。
> > たとえばintの123を文字型の123に変換する方法です。
> > 関数でintTostrのような関数が有ればと思いヘッダーを見て見たのです
が
> > 無いようでした。
>
>  これは、int -> char への変換ではなくて、数値を文字列(だったら、
> char の配列ですね)に変換すると言うことでしょうか?
>
>  普通の(パソコンレベルの)C言語であれば、sprintf を使うのが普通です。
>  たとえば、
>
> char buff[16];
> int  i = 123;
> sprintf(buff, "%d", i);
>
>  で、buff の先頭から、"123" が格納されます。
>  メモリ etc. に余裕があれば、この方法が楽で、柔軟性もあります。
>
>  ただし、sprintf に限らず、printf 系の関数はメモリを大量に消費する
> ので(ちなみに、組込用のコンパイラだと、標準的な IO がないので、
> printf が提供されないことも多いのですが、sprintf は大抵あります)
> 使えない場合が多いのですが。
>
>  sprinf が使えない場合は、自作しましょう。
>
> void toStr(int dat, char *ptr, int keta)
> {
>   int i;
>
>   for (i = 0; i < keta; i++)
>   {
>      ptr[keta - i - 1] = (dat % 10) + '0';
>      dat /= 10;
>   }
>
>   /* 先行する0をスペースに置き換える */
>   for (i = 0; ptr[i] == '0' && i < keta - 1; i++)
>      ptr[i] = ' ';
>
> }
>
>  char buff[16];
>  int i = 123;
>
>  toStr(i, &buff[0], 4);
>
>  とすると、4桁で、buff[0] から、" 123" という文字列に変換されます。
>
> --
> _/ -- Last 17585 hours until ATHENS 2004 Olympic Games (12 Aug @047) -
> _/ FUJIHARA Keiichi
> _/ E-Mail : keiichi@xxxxxxxxxxxxx <or> nagi@xxxxxxxxxxxxxxx
> _/ URL    : http://www.keiichi.fujihara.name/
> --------------------------------------------+----- Luna Phase  3.66 --
> PGP FingerPrint = 7CC3 4F95 8CC7 87D3 7178  C348 CD65 7F08 D68F 69F6
>
>

スレッド概略
[2132(R)](起点)
 └[2137(U)]
   └[表示中]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]