Develop and Download Open Source Software

Browse CVS Repository

Contents of /xoonips/AL/common.cc

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


Revision 1.6 - (show 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 /*
2 * Abstract Layer縺ョ蜷?ゥ溯?縺後h縺丈スソ縺?未謨ー繧偵%縺薙〒螳夂セゥ縺吶k??/span>
3 *
4 * $Revision: 1.5 $
5 * $Log: common.cc,v $
6 * Revision 1.5 2005/01/22 05:38:03 youi
7 * md5str繧貞ョ夂セゥ縺励◆.
8 *
9 * Revision 1.4 2005/01/06 07:17:15 youi
10 * VC toolkit菴ソ逕ィ譎ゅ?snprintf縺ィ_fltused縺ョ螳夂セゥ繧定ソス蜉?.
11 *
12 * Revision 1.3 2004/11/26 05:13:40 aga
13 * 繝サuserid_t, groupid_t繧置nsigned int 縺ォ菫ョ豁」.
14 * 繝サunsignedIntToString()繧剃ス懈?.
15 *
16 * Revision 1.2 2004/11/26 03:29:43 aga
17 * 繝サintToString()繧剃ス懈?.
18 *
19 * Revision 1.1 2004/11/22 08:25:16 youi
20 * initial version.
21 *
22 *
23 */
24
25 #include <stdio.h>
26 #include <string.h>
27 #include "common.h"
28
29 #if defined(_MSC_VER)
30 #define snprintf _snprintf
31 int _fltused = 0x9875;
32 #include "md5/global.h"
33 #include "md5/md5.h"
34
35 #define MD5_Init MD5Init
36
37 #endif
38
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
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
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 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 string s( buf );
140 return s;
141 }
142
143
144
145
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