std_stdlib.c
[目次 | 関数]
1|/**************************************************************************
2|* 1. <<< 標準ライブラリ stdlib.h >>>
3|***************************************************************************/
4|
5|#include <std_stdlib.ah>
6|
7|
8|
9|
10|
11|
12|/**************************************************************************
13| 2. <<< [_itow] 数値を UNICODE にする >>>
14|***************************************************************************/
15|wchar_t* Std_Stdlib_itow( int value, wchar_t* string, int radix )
16|{
17| wchar_t* p = string;
18| wchar_t* pp;
19| int m;
20| int bMinus;
21|
22| ASSERT( 1 <= radix && radix <= 36);
23|
24| bMinus = (value < 0 );
25| if ( bMinus ) value = -value;
26|
27| /* 下の桁から数字を格納する */
28| if ( radix <= 10 ) {
29| do {
30| m = value % radix;
31| *p = m + (wchar_t)'0';
32| value /= radix;
33| p++;
34| } while ( value != 0 );
35| }
36| else {
37| do {
38| m = value % radix;
39| *p = m + ( m < 10 ? (wchar_t)'0' : (wchar_t)'A'-10 );
40| value /= radix;
41| p++;
42| } while ( value != 0 );
43| }
44| if ( bMinus ) {
45| *p = '-'; p++;
46| }
47| *p = (wchar_t)'\0';
48|
49| /* 下の桁から上の桁を入れ替える */
50| pp = string; p--;
51| while ( pp < p ) {
52| m = *pp; *pp = *p; *p = m;
53| pp++; p--;
54| }
55|
56| return string;
57|}
58|
59|
60|
61|
62|