TA的每日心情 | 慵懒 2016-4-21 12:07 |
|---|
签到天数: 3 天 连续签到: 1 天 [LV.2]偶尔看看I 累计签到:3 天 连续签到:1 天
|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
C/C++並沒有提供內建的int轉string函數,這裡提供幾個方式達到這個需求。
( p( d0 I6 \# r% Q1.若用C語言,且想將int轉char *,可用sprintf(),sprintf()可用類似printf()參數轉型。 1
/**//*
- b+ [ q" D9 D2 X6 ]& B5 i" } 2
(C) OOMusou 2007 http://oomusou.cnblogs.com
/ G. M. j9 I+ j 3
1 K- I4 y& G8 J" ` 4Filename : int2str_sprintf.cpp
8 V' J5 l/ g$ d9 }8 T Z5 ^+ ? D 5Compiler : Visual C++ 8.0 / ANSI C; I, P7 y& `9 L% J3 |- h/ V
6Description : Demo the how to convert int to const char *
+ j! S2 L: N9 M. W& \3 s5 Z$ c 7Release : 01/06/2007 1.0, X$ ^$ q: T6 M
8
*/
7 I$ l& \, Z) O' `4 C 9
#include "stdio.h"
& a3 \) @/ g" d6 Y4 |10+ J# c+ F( G; \% |) K
11void int2str(int , char+ ~( G3 n& A/ S7 r
*);& E& d3 Z5 V1 i- O- X3 P
12
/ A, Y1 S0 t0 Z& M9 `( E. G13int main()
{, E* W3 G/ `8 o4 [- b* ]
14 int i =8 [% G5 |2 C1 w4 `
123;& \! E6 R1 t9 b; C5 y1 X" ^' s% ?
15 char s[64];, X+ K# F- J% k& G
16 int2str(i, s);) K" F% e) ?( j6 f" [
17 puts(s);- p9 t( H( ~4 m* z7 l( ^; {
18}) v6 y# d$ [* V. s( I$ d8 r
19
$ Z% p; V7 k5 b M- i) g5 q* Q20void int2str(int i, char, Z( {* r5 [4 H. G! {* E! X
*s) {
1 L! ~6 ^: N. d% d6 p1 N1 j0 O' y21 sprintf(s,"%d",i);
% Y6 g: x7 y" E! j22}& |5 a& M6 d o7 E5 w) W
! g' B5 m. |% f6 D7 K3 E
4 V8 Y8 F7 c# `) ^* V
2.若用C語言,還有另外一個寫法,使用_itoa(),Microsoft將這個function擴充成好幾個版本,可參考MSDN Library。) n V$ ]8 w8 [/ o& R" e
1/**//*
- q+ d! [$ ]4 U 2(C) OOMusou 2007 http://oomusou.cnblogs.com4 y- D2 B+ k& j* I1 t
3; ~$ c3 r5 E" ^, j4 i2 u
4Filename : int2str_itoa.cpp
3 J, \7 v* m. ~. e0 U1 O* f+ Q& Y 5Compiler : Visual C++ 8.0 / ANSI C* q" e! \! P* G6 H& C! _$ Q
6Description : Demo the how to convert int to const char *
3 H* h( d$ a3 ?; `1 y 7Release : 01/06/2007 1.0
* R3 N$ e- Z% B/ ~ 8*/' N& p1 V4 D8 M& e
9#include "stdio.h"
" e) A& H* U* F// puts(): f; U# A( s- J, s& b
10#include "stdlib.h" m( H+ I$ k' u" C$ w/ B+ D
// _itoa()
q- H; z7 R8 m11
4 X0 }4 U3 [! m12void int2str(int , char
$ C) K% n, N B9 h4 a* [! ^3 O9 Q/ \*);) w- U' o: ~. e' C0 D0 ~
139 \1 @9 Q2 b. f! L8 P
14int main() {) m! U8 d5 h. G8 |& B# b
15 int i =
* t. n/ L5 x( v) s4 a123;7 J) |) K8 X% V% j, k: U" q& Y
16 char s[64];7 V5 {: Y8 K0 L6 D
17 int2str(i, s);6 B' [" f* d! m
18 puts(s);+ }- i1 p) M, @. }2 X; v5 J7 T+ S
19} T* a" B3 v, y
20" W/ g+ \- T" N# s1 ~& B
21void int2str(int i, char2 L. Y9 D$ D7 b: S+ x) s% c c
*s) {3 O+ q. Q8 ^5 @7 P: v( r
22 _itoa(i, s, 10);9 g$ C* A9 o1 u6 ^/ o# w3 R* r
23}
" M- O( V9 w+ p9 r2 S( F" J- i& X' {6 o2 i' `( {! }* H% d' J; U
- S/ A) q5 N% B! r; {
3.若用C++,stringstream是個很好用的東西,stringstream無論是<<或>>,都會自動轉型,要做各型別間的轉換,stringstream是個很好的媒介。
+ z0 n% y. z$ b( B 1/**//*
# j* ^ g" n$ l$ K 2(C) OOMusou 2007 http://oomusou.cnblogs.com5 F$ C# ]0 e8 f' ?
3
a0 S3 [' r0 {4 @: y. m 4Filename : int2str_sstream.cpp0 q( M* D, }( b9 O; ^6 t0 h
5Compiler : Visual C++ 8.0 / ISO C++/ X& o! f( e! Q/ Z& e
6Description : Demo the how to convert int to string% E% [+ a C) K7 h* v
7Release : 01/06/2007 1.0+ D3 y% Y: v j+ l+ r( x- i3 e9 V
8*/: N- |9 p* O3 @/ B* r# R
9
8 [( b* H. t# D) W8 H# b10#include <iostream> B8 X* w2 U x S
11#include <string># ?2 h' X5 E1 y8 G" \: f- ^) J# y8 V
12#include <sstream>) B) O& k6 r, g- U" @
13
0 k! s6 f% v0 H' i( x14using6 z8 ]; g* a8 {; H* I8 c' J
namespace std;
' M" l4 q- G4 T0 j15
. f# Z- J M ]0 j8 Q8 o: O16string int2str(int &);: m, q8 q+ o0 z/ l+ t4 ^
17
, X+ K: |; ^; ]* d18int main(void) {
$ O: E6 E5 U/ b0 }% {! Q( P% B5 S8 O19 int i =
* M* M' `; Q! Y& S123;. [2 W2 x( R- M8 D5 ~/ {* t! g0 _
20 string s;2 q! q' D; m' { s
21 s = int2str(i);% J) _. @% R% d1 V* F' o
22' z- D# E- Y9 F1 m! b4 U ^" h
23 cout << s << endl;; t1 m# x& a) ~( n* B; ]$ m, Q4 [
24}# }" O. d+ J! j
25: Z- I) I! i8 s+ n1 W+ S5 I
26string int2str(int &i) {
' y- {2 t4 ~+ T0 M7 |27 string s;
+ b0 X6 t6 C$ M0 \* I4 b1 W28 stringstream ss(s);8 U( t& y1 s Q
29 ss << i;
6 u5 Z# P8 t) S: p$ n30 S) S- u0 W5 ~5 c. X" g
31 return ss.str();
) I/ I/ O) N, ^. {, v x8 t32}
8 k( O2 a5 z7 ~ Z2 u$ x; `5 N9 Q9 T+ d8 i% W# y
/ B! n; F( [- k6 B; a, d& d4.若用C++,據稱boost有更好的方法,不過我還沒有裝boost,所以無從測試 |
评分
-
查看全部评分
|