TA的每日心情 | 慵懒 2016-4-21 12:07 |
|---|
签到天数: 3 天 连续签到: 1 天 [LV.2]偶尔看看I 累计签到:3 天 连续签到:1 天
|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
C/C++並沒有提供內建的int轉string函數,這裡提供幾個方式達到這個需求。
1 r( J6 y$ d4 {7 Y- p1.若用C語言,且想將int轉char *,可用sprintf(),sprintf()可用類似printf()參數轉型。 1
/**//*! S3 w" b' j# P& m1 C/ U
2
(C) OOMusou 2007 http://oomusou.cnblogs.com
7 |1 q1 a+ z& \ 3
) _$ c7 Q* |5 t$ o 4Filename : int2str_sprintf.cpp' w' k- _; }, i+ h& A& I7 l$ U) }
5Compiler : Visual C++ 8.0 / ANSI C
1 e- C) B- D' i0 i& I& x6 v 6Description : Demo the how to convert int to const char *
4 g9 Q: N- y* K: x' D5 \ 7Release : 01/06/2007 1.0
! g# i8 y) a8 z 8
*/. ?2 R6 F+ _- e' `' h1 h3 j! {8 E
9
#include "stdio.h"
/ r3 z8 } Y7 o2 ]" Q u10
. q, {- \9 P" q3 T$ z: I11void int2str(int , char
/ q3 q2 s9 R/ l, ]5 `4 ~6 O( x" S7 B*);( U+ H: N' t. K/ W
12
- X) A9 y4 X( m9 m# H6 m9 w& C1 R13int main()
{* _& `$ z r& h7 v- @
14 int i =
' U- v0 d% a8 c$ m123;, g0 ~( Z' x, b6 F5 H3 _* n5 _
15 char s[64];
; z" c/ ^% [+ X+ }: f16 int2str(i, s);7 Y+ K% d: c2 Z, B4 `$ X
17 puts(s);5 T0 o7 J) a" O8 L; c* o& n
18}
' B9 L }/ S# y2 @19, B E P' u% Q, Y _7 m1 _
20void int2str(int i, char
4 K$ u+ x8 e# L*s) {$ I5 h/ h& S5 z
21 sprintf(s,"%d",i);
8 a2 t% {9 p6 @! I1 X( r' R22}
' s6 L5 Q4 g1 ~& F; N% C2 i6 t8 b9 L8 r' b# |
. H& K! v! a7 @$ E& k2.若用C語言,還有另外一個寫法,使用_itoa(),Microsoft將這個function擴充成好幾個版本,可參考MSDN Library。0 O3 M# J/ x( B7 M0 j# W) d
1/**//*
# H2 H0 ?% i" S 2(C) OOMusou 2007 http://oomusou.cnblogs.com' ?& u! d# g1 A2 }, \
3' Q9 k9 d0 o0 K9 } x6 n+ m0 d& ?8 K
4Filename : int2str_itoa.cpp6 ]0 w5 U9 c9 C F9 v: w6 Q
5Compiler : Visual C++ 8.0 / ANSI C
/ d: N7 \% E7 U o 6Description : Demo the how to convert int to const char *" a+ \. E) y$ O) Z; B9 j: Q4 x6 ]
7Release : 01/06/2007 1.0
" e8 Y0 z7 V3 J$ ^! \' i) w7 r T5 N 8*/
7 |2 n, w4 ]8 T6 g7 K 9#include "stdio.h": B5 }: q/ `6 `4 k3 C8 L
// puts()' I3 b" x' m3 B6 b
10#include "stdlib.h"
3 E3 d$ Z1 G; x' y2 k3 V// _itoa()
$ c3 P5 p, a! G! v11/ Z! W1 ]8 F' X% |
12void int2str(int , char
0 G+ S+ k& F& B' D" c( g*);) d" J5 V1 N' N) ?7 Z" [
13
3 d9 V4 N1 L e c( |0 ?14int main() {1 d7 W" b2 F. P" }) y
15 int i =
/ z- ]. c) Y% V' u2 k* T123;
. G5 l, W9 u0 E; H$ M! B16 char s[64];- D2 ~5 s+ b* n O2 p% W) i& }: ?
17 int2str(i, s);
' K' v" _' y& x& H2 k8 L3 x' N9 t18 puts(s);
& R+ ~5 m, r2 ]& U19}" c- M' y& C! j+ P w5 R8 d' ^
202 ^* @3 m3 ^* q
21void int2str(int i, char- j! j- y( o6 h/ L, f# ^! v$ Y
*s) {) T$ o# q1 V' X0 r1 Y9 k
22 _itoa(i, s, 10);4 J# l2 Q, \6 W& e7 J0 e& |$ Q5 N
23}% d9 T1 d+ w- m( b# T/ p$ Y }
& m4 N2 }+ o+ i3 o3 w8 t4 {, a: V; w. G2 N# {9 P5 W9 u
3.若用C++,stringstream是個很好用的東西,stringstream無論是<<或>>,都會自動轉型,要做各型別間的轉換,stringstream是個很好的媒介。
6 j# o F, l4 k 1/**//*
" c: ?8 Y! i: w: K4 H1 N; N 2(C) OOMusou 2007 http://oomusou.cnblogs.com& a6 j5 L" |/ d+ w0 C0 R8 X4 V
3! K. [0 L/ O0 t. M' F: m1 n1 p: k
4Filename : int2str_sstream.cpp
$ A2 Z+ t* n5 p+ R 5Compiler : Visual C++ 8.0 / ISO C++2 a: l. R4 I% T0 B
6Description : Demo the how to convert int to string3 [5 l* ~' I; v6 ?( M
7Release : 01/06/2007 1.0
! _! p: {. Y5 L 8*/8 B0 m) M, W6 E4 J( F) P2 M- W$ e
9; u! d5 U: L( [! g( S8 j9 K
10#include <iostream>
& H+ H5 D* u5 v6 j" F# G11#include <string>& A9 B( [* D! A) [9 z. d5 E9 N
12#include <sstream>
( `% F j" N6 R0 x13) e5 r) O. \: X7 A) [
14using
$ E0 b$ l% z1 h) }, K4 g# O W Znamespace std;8 j+ ]1 K8 K2 c- V" v
155 S+ I- H/ }) o
16string int2str(int &);
& F. ?! L0 x5 K1 A17" U, U q& d- d }/ I" N
18int main(void) { u/ E/ U$ O/ }# o
19 int i =
6 {& b5 _3 r( {. {123;
$ d- l( M) D% B. [9 w20 string s;
' ?; K/ R ?/ U# v+ R6 N8 n21 s = int2str(i);
! }. k7 b+ B7 G+ `22
4 c$ L7 V# f. ~4 Z! I, [23 cout << s << endl;
) S3 }9 ?- v+ i24}/ z8 Q" H4 i2 ? `+ x4 ]. d0 N
255 k' } `( `8 }
26string int2str(int &i) {7 y: N w- ^% ~8 K7 ?
27 string s;
6 z: q6 U4 R' ]8 Y4 a! z28 stringstream ss(s);
# O. {6 q- h, k2 Q29 ss << i;, Y. y) t9 n Q% g# k
30
4 ]4 m5 e; y+ s8 Z, k31 return ss.str();* R+ {' P2 B0 U8 [
32}0 b% q' u8 I4 O% y
+ p5 Q. x n4 \ U0 v
" h% l- l. n" v6 z3 Z' C' W
4.若用C++,據稱boost有更好的方法,不過我還沒有裝boost,所以無從測試 |
评分
-
查看全部评分
|