このメールは、OSASK伝言板に書き込まれた内容です。 この書き込みに返事を書く場合は、下のURLから書き込みを行なって下さい http://www.imasy.org/~mone/osask/index.cgi?REFER=3df07c33_e84b 2002/12/06 19:30 くーみん くーみんです。 [OSASK 5455] BOARD: Re: OSASK アプリ作ってみました へのレス とりあえず、LuckyNumのソース内容に対してです。 char s[1];と定義しておいて s[0] = '\0'; まではいいですが、setdec3で j = 1; 途中略 s[j--] = (i % 10) + '0'; はおかしいですね。 char s[1]; はs[0]のみです。 char s[2]; と宣言すれば… s[0]とs[1]が確保されます。 そして、今回のプログラムでは、そもそもsetdecを使うまでもありません。 char s[2]; s[0] = '0' + rand() % 10; s[1] = '\0'; ですみます。 したのレスの内容が合っているとすれば s[0] = '0' + rand() % 10; を i = rand() % 10; s[0] = '0' + i; にすればいいとおもいます。 以下は、記事へのレス内容。 >ラッキーカラーで早速壁にぶち当たってしまいました…。 >文字列変数を、数値型変数に変えたいのですが、 >どうすればよいでしょうか? ちょっと意味が分かりません。 変換して数値型変数に変えたなら、変える前を保存しておけばいいでしょう。 まぁ、何らかの理由で必要なら 原理的には、数値>文字の逆をすればいいのです。 LuckyNumを改造していて、必要なら、上のとおりですが そして、関数の中身として 0-9以外を0にする判定をして、 luckynumのsetdec3という関数を変換して逆をすればいいでしょう。 stdlib.hにatoiという関数が用意されています。 が、小規模なプログラムなら、必要無いですね。 なにかあれば、またレスを下さい。