C言語なら俺に聞け! Part 108
■ このスレッドは過去ログ倉庫に格納されています
0666デフォルトの名無しさん
2005/06/16(木) 21:27:20int型の数値から文字列に変換する関数で、戻り値に変換された文字列の先頭のポインタを返す場合
呼び出し先の関数ではstatic宣言をした配列にしないと戻り先の関数から参照できませんよね。
ですがその場合だと、呼び出し元の関数が二回連続して同じ関数を呼び出すと当然の事ながら結果は上書き
されてしまいます。
そこでこの状態に対する対処法はなにかありますか?
例
char *ItoA(int);
char *p1;
char *p2;
p1 = ItoA(1234);
p2 = ItoA(-1234);
printf("%d\n", p1);
printf("%d", p2);
の場合、呼び出し先の配列がstatic宣言されていると
-1234
-1234
と表示されてしまうのを回避したい。
お願いします。
■ このスレッドは過去ログ倉庫に格納されています