TA的每日心情 | 慵懒 2016-4-21 12:07 |
|---|
签到天数: 3 天 连续签到: 1 天 [LV.2]偶尔看看I 累计签到:3 天 连续签到:1 天
|
|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
C/C++並沒有提供內建的int轉string函數,這裡提供幾個方式達到這個需求。* g/ g- P2 x9 ?% a# ] o
1.若用C語言,且想將int轉char *,可用sprintf(),sprintf()可用類似printf()參數轉型。 1
/**//*1 L; Q' C" y3 C( ~* z
2
(C) OOMusou 2007 http://oomusou.cnblogs.com
/ Q0 S1 [! V$ n5 j 3
2 f) Z$ c+ J5 z: O( s7 R 4Filename : int2str_sprintf.cpp
1 y( w2 l( @, Y$ W, e: C; G7 A 5Compiler : Visual C++ 8.0 / ANSI C% N' ]& m+ y { P' {- N9 S8 Q1 h Q
6Description : Demo the how to convert int to const char *
/ z: v' u; P3 C% W: \6 s 7Release : 01/06/2007 1.0
+ }8 H1 S6 s/ w8 W" ]/ ~ 8
*/
5 d; Q, i: b$ }+ p: L 9
#include "stdio.h"
7 k s9 X: y' }: A4 ^8 J10
% M7 m. M! S2 c! W11void int2str(int , char! f' G1 l: B% T. l, }) ~
*);( M+ ?0 i* h) i* w( k' `2 f
12# X8 |7 E, d F" X" v$ z; x
13int main()
{
1 W. s9 z8 d8 K' n' ~14 int i =
5 ? m: c5 ~% S' T, A8 ~# q* ~( S123;9 I) X5 t; G& O: F6 }5 b5 G
15 char s[64];
( H8 Q! n' o: K2 U; Y; j16 int2str(i, s);
, l" G) r* [/ A) K17 puts(s);. T P* P1 ?- o1 ~2 ~
18}
' j9 l1 h8 v! M+ f19
' W" k5 O y' F2 }( Z) z3 z20void int2str(int i, char: f' J! _' ~( _ M4 N( n0 u
*s) {
! I' G2 f1 Z8 v$ O$ @9 V21 sprintf(s,"%d",i);3 K9 z/ F% y( ]
22}
) o; l; |" f: u$ h, Q/ q3 ?
! k% N- N/ o3 v4 h2 C7 i$ m+ U7 {3 z- @ j
2.若用C語言,還有另外一個寫法,使用_itoa(),Microsoft將這個function擴充成好幾個版本,可參考MSDN Library。
, h8 ^4 L& J& g; e7 k7 y 1/**//*) ]) H0 J) x& z
2(C) OOMusou 2007 http://oomusou.cnblogs.com1 X" O! ]" [3 y, m5 e
30 r0 J2 A. J) I! V( }
4Filename : int2str_itoa.cpp
: K5 S% e E% _* i& i1 X 5Compiler : Visual C++ 8.0 / ANSI C
3 }# P$ r) l5 u' K# ^ 6Description : Demo the how to convert int to const char *
0 f; ?6 e; w |3 R8 K 7Release : 01/06/2007 1.0
8 e- [5 ^6 O5 L! r g, z 8*/
; n3 H1 z" `4 J 9#include "stdio.h"9 Y& b+ V7 I( N7 n
// puts()
/ D& L8 s4 s, B2 J10#include "stdlib.h"2 L4 S& z M7 {. }
// _itoa()
, V& Y7 d% f& p: S1 A11$ e" L: v" B4 N9 K2 S8 V# g3 k
12void int2str(int , char
( J) N% N: }+ t( X, w5 N6 l*);2 b% J V3 h2 ^+ g
138 M: |, u( i, K8 [% K4 V
14int main() {3 Y2 \' W6 t) S, |$ w: L J
15 int i =
: L% }, m+ T( \" L E* C7 I" r0 @123;
! B% x/ e) j' X16 char s[64];9 @% p: q$ C) _
17 int2str(i, s);
$ E. _+ J$ a, ]% V7 X. A# ^18 puts(s);
; H) {/ M& E: P- k# ^7 {19}
( q/ U8 B, P+ x0 n20
) B$ P. E ?3 Z21void int2str(int i, char: [# D2 U8 c [: J+ f. k! G
*s) {
1 X7 u2 `7 B4 Q8 Y8 |1 w22 _itoa(i, s, 10);
1 M, N( u: X ~23}
* B/ T: B" V" z. @5 z4 n8 i+ x$ ?+ ~' ^! k; w, y
8 h/ n, v a) V: T. ^
3.若用C++,stringstream是個很好用的東西,stringstream無論是<<或>>,都會自動轉型,要做各型別間的轉換,stringstream是個很好的媒介。
1 _& N% w& D- G4 @ 1/**//*( v8 G+ y$ ^# H2 P2 }* b
2(C) OOMusou 2007 http://oomusou.cnblogs.com q! Z7 x4 Q6 l5 T1 I( D
3# o& o1 S* s" F0 T( @3 E# R
4Filename : int2str_sstream.cpp
; }5 x! t6 L) Y1 L4 D 5Compiler : Visual C++ 8.0 / ISO C++
( O% N K) Q8 }" s, {1 I2 ?/ V 6Description : Demo the how to convert int to string- q+ A! f5 `& K! ^
7Release : 01/06/2007 1.0" `$ D" s0 d4 B
8*/
5 V' ~1 c% k9 ^4 d+ U 9& r% Z; E9 N9 Q* ?
10#include <iostream>* e! t3 ~1 l" a; U$ _4 J0 K$ i# Y. t
11#include <string>
U6 k' A) I4 k( h3 [) z12#include <sstream>/ w# V* t6 ^$ @: U- t" e
13
, ]: `, e! v' d4 k: e3 a3 ?5 K- d14using4 n5 f m1 I' J1 u
namespace std;. W% L. Z) \/ g5 _# D
15; U* d' G0 {. E5 }9 i( Q6 D
16string int2str(int &);" U) Y2 |4 i: |; L6 i
17
2 }8 V [$ s, s6 U9 {& y18int main(void) {8 o9 B: x$ z8 k f4 l% Q6 N5 f* B9 x) q
19 int i =& i3 [$ l% C9 p, |
123;
! L' x u! ~$ @9 w8 N, H4 s( d20 string s;7 b, E& _7 z/ O4 q# |
21 s = int2str(i);8 K4 a" K( u9 {/ O4 ]9 g9 A
22
* ~/ @- l+ ?% `% j+ ^4 Q( K7 r8 x23 cout << s << endl;
. a/ k7 A- l5 w( R% F: {24}9 ^8 q, z ?; @! @+ _( H
254 D+ O1 G5 @+ k# E5 {$ s% T2 x
26string int2str(int &i) {
/ v5 s l7 d, D27 string s;' o+ f/ f) q @# u1 b- r: u
28 stringstream ss(s);
, J* e" t8 z M. {4 V8 h29 ss << i;
7 W& [9 _% a) D& {% Q; f30; W6 D2 T H* l! b; _" I" }
31 return ss.str();; q3 B) S U% e1 O9 F
32}
6 b# ~: v6 [7 f( S1 U9 ]9 X$ o6 ]" V0 T1 N4 ?* T3 c
3 J/ ]6 p% a" q9 c( |2 s4.若用C++,據稱boost有更好的方法,不過我還沒有裝boost,所以無從測試 |
评分
-
查看全部评分
|