Develop and Download Open Source Software

Browse CVS Repository

Annotation of /xoonips/AL/common.cc

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.6 - (hide annotations) (download) (as text)
Fri Feb 25 07:42:57 2005 UTC (19 years, 1 month ago) by tani
Branch: MAIN
Changes since 1.5: +25 -1 lines
File MIME type: text/x-c++src
doubleToStringトノイテ.

1 youi 1.1 /*
2     * Abstract Layer縺ョ蜷?ゥ溯?縺後h縺丈スソ縺?未謨ー繧偵%縺薙〒螳夂セゥ縺吶k??/span>
3     *
4 tani 1.6 * $Revision: 1.5 $
5 aga 1.2 * $Log: common.cc,v $
6 tani 1.6 * Revision 1.5 2005/01/22 05:38:03 youi
7     * md5str繧貞ョ夂セゥ縺励◆.
8     *
9 youi 1.5 * Revision 1.4 2005/01/06 07:17:15 youi
10     * VC toolkit菴ソ逕ィ譎ゅ?snprintf縺ィ_fltused縺ョ螳夂セゥ繧定ソス蜉?.
11     *
12 youi 1.4 * Revision 1.3 2004/11/26 05:13:40 aga
13     * 繝サuserid_t, groupid_t繧置nsigned int 縺ォ菫ョ豁」.
14     * 繝サunsignedIntToString()繧剃ス懈?.
15     *
16 aga 1.3 * Revision 1.2 2004/11/26 03:29:43 aga
17     * 繝サintToString()繧剃ス懈?.
18     *
19 aga 1.2 * Revision 1.1 2004/11/22 08:25:16 youi
20     * initial version.
21     *
22 youi 1.1 *
23     */
24    
25     #include <stdio.h>
26     #include <string.h>
27     #include "common.h"
28 youi 1.4
29     #if defined(_MSC_VER)
30     #define snprintf _snprintf
31     int _fltused = 0x9875;
32 tani 1.6 #include "md5/global.h"
33     #include "md5/md5.h"
34    
35     #define MD5_Init MD5Init
36    
37 youi 1.4 #endif
38 youi 1.5
39     /**
40     *
41     * data縺ョMD5繝上ャ繧キ繝・蛟、繧呈アゅa?梧枚蟄怜?縺ォ螟画鋤縺暦シ梧欠螳壹&繧後◆譁?ュ怜?繝舌ャ繝輔ぃ
42     * str縺ォ譖ク縺崎セシ繧?.
43     *
44     *
45     *
46     */
47     char* md5str( char str[MD5_DIGEST_STRING_LENGTH], unsigned char* data, int len )
48     {
49     MD5_CTX c;
50     unsigned char buf[MD5_DIGEST_LENGTH];
51     static const char hexdigit[]="0123456789abcdef";
52    
53     MD5_Init( &c );
54     MD5_Update( &c, data, len );
55     MD5_Final( buf, &c );
56    
57     for( int i = 0 ; i < MD5_DIGEST_LENGTH ; i++ ){
58     str[i*2] = hexdigit[buf[i]>>4];
59     str[i*2+1] = hexdigit[buf[i] & 0x0f];
60     }
61     str[MD5_DIGEST_LENGTH*2] = '\0';
62     return str;
63     }
64 youi 1.1
65     /**
66     *
67     * 荳弱∴繧峨l縺滓枚蟄怜?繧定、?」ス縺暦シ後◎縺ョ繧「繝峨Ξ繧ケ繧定ソ斐☆??/span>
68     *
69     * @param text
70     * @return 隍?」ス縺励◆譁?ュ怜?縺ョ繧「繝峨Ξ繧ケ
71     * @return 0 隍?」ス縺ォ螟ア謨?/span>
72     *
73     */
74     char* str_dup( const char* text )
75     {
76     if( text == 0 ) return 0;
77     char* ptr = new char[ strlen( text ) + 1 ];
78     if( ptr == 0 ) return 0;
79     strcpy( ptr , text );
80     return ptr;
81     }
82    
83     /**
84     *
85     * newtext縺ァ謖?ョ壹&繧後◆譁?ュ怜?繧定、?」ス縺暦シ後◎縺ョ繧「繝峨Ξ繧ケ繧?dstptr縺ォ莉」蜈・縺吶k.<br>
86     * 謌仙粥縺励◆繧会シ後◎繧後∪縺ァ*dstptr縺悟盾辣ァ縺励※縺?◆鬆伜沺繧定ァ」謾セ縺吶k.<br>
87     * 騾比クュ縺ァ螟ア謨励@縺溷?エ蜷医?*dstptr縺ョ蜀?ョケ縺ッ譖ク縺肴鋤縺医i繧後↑縺?シ?lt;br>
88     * newtext==0縺ョ縺ィ縺阪???dstptr縺悟盾辣ァ縺吶k鬆伜沺繧定ァ」謾セ縺暦シ檎ゥコ譁?ュ励r譁ー隕上↓菴懈?縺励※縺昴?繧「繝峨Ξ繧ケ繧?dstptr縺ォ莉」蜈・縺吶k.<br>
89     *
90     * @param newtext *dstptr縺ォ莉」蜈・縺励◆縺?枚蟄怜?
91     * @param dstptr 隍?」ス縺励◆newtext縺ョ繧「繝峨Ξ繧ケ繧剃サ」蜈・縺吶k繝昴う繝ウ繧ソ螟画焚縺ク縺ョ繝昴う繝ウ繧ソ
92     * @return dstptr縺ォ莉」蜈・縺励◆繧「繝峨Ξ繧ケ 螟ア謨玲凾縺ッ蜃ヲ逅?燕縺ョdstptr
93     *
94     */
95     char* setValue( char** dstptr, const char* newtext )
96     {
97     char* ptr;
98    
99     // newtext縺?縺ェ繧会シ?dstptr縺悟盾辣ァ縺吶k繝。繝「繝ェ鬆伜沺繧定ァ」謾セ縺暦シ?/span>
100     // *dstptr縺ォ縺ッ譁ー隕丈ス懈?縺励◆遨コ譁?ュ励?繧「繝峨Ξ繧ケ繧剃サ」蜈・
101     if( newtext == 0 ){
102     ptr = str_dup( "" );
103     }else{
104     ptr = str_dup( newtext );
105     }
106     if( ptr != 0 ){
107     if( *dstptr != 0 ) delete[] *dstptr;
108     *dstptr = ptr;
109     }
110     return *dstptr;
111     }
112 aga 1.2
113     /**
114     *
115     * int繧呈枚蟄怜?縺ォ螟画鋤縲?/span>
116     *
117     * @param i 螟画鋤縺吶∋縺肴焚蛟、
118     * @return 螟画鋤蠕後?譁?ュ怜?
119     *
120     */
121     string intToString( int i ){
122     char buf[sizeof(int)*3+1+1+1]; // n繝舌う繝医↑繧?n+1譯∽サ・荳九?∫ャヲ蜿キ縺ァ1譯√?―0縺ァ1譯?/span>
123     snprintf( buf, sizeof(buf), "%d", i );
124 aga 1.3 string s( buf );
125     return s;
126     }
127    
128     /**
129     *
130     * unsigned int繧呈枚蟄怜?縺ォ螟画鋤縲?/span>
131     *
132     * @param i 螟画鋤縺吶∋縺肴焚蛟、
133     * @return 螟画鋤蠕後?譁?ュ怜?
134     *
135     */
136     string unsignedIntToString( unsigned int i ){
137     char buf[sizeof(int)*3+1+1]; // n繝舌う繝医↑繧?n+1譯∽サ・荳九?―0縺ァ1譯?/span>
138     snprintf( buf, sizeof(buf), "%u", i );
139 aga 1.2 string s( buf );
140     return s;
141     }
142    
143    
144    
145 tani 1.6
146     /**
147     *
148     * unsigned int繧呈枚蟄怜?縺ォ螟画鋤縲?/span>
149     *
150     * @param i 螟画鋤縺吶∋縺肴焚蛟、
151     * @return 螟画鋤蠕後?譁?ュ怜?
152     *
153     */
154     string doubleToString( double d ){
155     char buf[256];
156     snprintf( buf, sizeof(buf), "%lf", d );
157     string s( buf );
158     return s;
159     }
160    

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26