C/C++並沒有提供內建的int轉string函數,這裡提供幾個方式達到這個需求。
1
/* 2
(C) OOMusou 2007 http://oomusou.cnblogs.com
3
4
Filename : int2str_sprintf.cpp 5
Compiler : Visual C++ 8.0 / ANSI C 6
Description : Demo the how to convert int to const char * 7
Release : 01/06/2007 1.0 8
*/
9
#include “stdio.h”
10![](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20210%20140%22%3E%3C/svg%3E)
11
void int2str(int , char *);
12![](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20210%20140%22%3E%3C/svg%3E)
13
int main() {
14
int i = 123;
15
char s[64];
16
int2str(i, s);
17
puts(s);
18
}
19![](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20210%20140%22%3E%3C/svg%3E)
20
void int2str(int i, char *s) {
21
sprintf(s,”%d”,i);
22
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
3
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
9
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
10
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
11
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
12
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
13
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
14
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
15
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
16
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
17
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
18
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
19
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
20
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
21
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
22
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
2.若用C語言,還有另外一個寫法,使用_itoa(),Microsoft將這個function擴充成好幾個版本,可參考MSDN Library。
1
/* 2
(C) OOMusou 2007 http://oomusou.cnblogs.com
3
4
Filename : int2str_itoa.cpp 5
Compiler : Visual C++ 8.0 / ANSI C 6
Description : Demo the how to convert int to const char * 7
Release : 01/06/2007 1.0 8
*/
9
#include “stdio.h” // puts()
10
#include “stdlib.h” // _itoa()
11![](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20210%20140%22%3E%3C/svg%3E)
12
void int2str(int , char *);
13![](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20210%20140%22%3E%3C/svg%3E)
14
int main() {
15
int i = 123;
16
char s[64];
17
int2str(i, s);
18
puts(s);
19
}
20![](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20210%20140%22%3E%3C/svg%3E)
21
void int2str(int i, char *s) {
22
_itoa(i, s, 10);
23
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
3
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
9
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
10
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
11
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
12
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
13
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
14
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
15
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
16
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
17
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
18
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
19
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
20
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
21
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
22
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
23
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
3.若用C++,stringstream是個很好用的東西,stringstream無論是<<或>>,都會自動轉型,要做各型別間的轉換,stringstream是個很好的媒介。
1
/* 2
(C) OOMusou 2007 http://oomusou.cnblogs.com
3
4
Filename : int2str_sstream.cpp 5
Compiler : Visual C++ 8.0 / ISO C++ 6
Description : Demo the how to convert int to string 7
Release : 01/06/2007 1.0 8
*/
9![](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20210%20140%22%3E%3C/svg%3E)
10
#include <iostream>
11
#include <string>
12
#include <sstream>
13![](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20210%20140%22%3E%3C/svg%3E)
14
using namespace std;
15![](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20210%20140%22%3E%3C/svg%3E)
16
string int2str(int &);
17![](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20210%20140%22%3E%3C/svg%3E)
18
int main(void) {
19
int i = 123;
20
string s;
21
s = int2str(i);
22![](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20210%20140%22%3E%3C/svg%3E)
23
cout << s << endl;
24
}
25![](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20210%20140%22%3E%3C/svg%3E)
26
string int2str(int &i) {
27
string s;
28
stringstream ss(s);
29
ss << i;
30![](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20210%20140%22%3E%3C/svg%3E)
31
return ss.str();
32
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
3
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
9
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
10
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
11
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
12
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
13
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
14
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
15
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
16
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
17
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
18
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
19
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
20
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
21
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
22
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
23
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
24
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
25
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
26
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
27
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
28
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
29
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
30
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
31
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
32
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
4.若用C++,據稱boost有更好的方法,不過我還沒有裝boost,所以無從測試