TA的每日心情 | 慵懒 2016-4-21 12:07 |
---|
签到天数: 3 天 连续签到: 1 天 [LV.2]偶尔看看I 累计签到:3 天 连续签到:1 天
|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
C/C++並沒有提供內建的int轉string函數,這裡提供幾個方式達到這個需求。
: W! h& e; j: \" B4 }; j1.若用C語言,且想將int轉char *,可用sprintf(),sprintf()可用類似printf()參數轉型。 1
/**//*
4 {- d- J1 F9 ^' S% ~' Z) @ 2
(C) OOMusou 2007 http://oomusou.cnblogs.com/ d6 s+ |$ i5 w7 ~$ b: q6 j& f+ u
3
" ?; }; O" |2 { C3 F 4Filename : int2str_sprintf.cpp
1 g7 p$ Z! |+ G$ s( d* H: C( i( ` 5Compiler : Visual C++ 8.0 / ANSI C
- E% `6 n4 h3 |0 k3 e. M 6Description : Demo the how to convert int to const char *
9 i9 d2 o( Z" w6 F2 g 7Release : 01/06/2007 1.0
# C/ v8 n" r' j$ q9 ?1 u! D% _ 8
*/
4 |: J& z9 N9 I5 h; n) p: a 9
#include "stdio.h"
4 a: [: D+ e6 \7 p G100 O' X! {3 h/ W7 D
11void int2str(int , char
( }% L9 n) ]7 c*);
# X, d& |! R9 |( p0 J, Q12
Z* q# i7 ~) O" S0 o" x13int main()
{
. g: o# k- A" o; a4 ~14 int i =
+ e7 t ^4 f8 Q8 r6 M/ |" P* b) u0 ~123;3 N$ h+ Z/ D: g! I' S0 D+ l# B) V
15 char s[64];
4 l w" i ?5 T: ^' F4 y A! G/ q16 int2str(i, s);. S7 c. J! F0 X' N
17 puts(s);& d& Z4 s: N" i
18}; w. F" [9 T( H6 W
192 W2 G: L# f( E3 _; H
20void int2str(int i, char( |/ y% @( @7 W
*s) {) _. Q2 ?; H& k. ^
21 sprintf(s,"%d",i);, e8 L t) ~3 v1 |3 y, h
22}6 D+ L! W5 f3 ]) X; e& w1 c
* l1 \8 K$ h8 O& |0 H* @1 b
3 B: I8 @5 ?+ m7 t U- W2.若用C語言,還有另外一個寫法,使用_itoa(),Microsoft將這個function擴充成好幾個版本,可參考MSDN Library。
# t8 Q0 J" r+ q" u 1/**//*
( Y2 d6 S5 ~! }2 M2 j 2(C) OOMusou 2007 http://oomusou.cnblogs.com
_, K4 F" i9 r- C8 a 3# W& l9 D2 Y. f4 ]* o
4Filename : int2str_itoa.cpp
& _. b3 D8 ^! t- J 5Compiler : Visual C++ 8.0 / ANSI C/ r8 p7 e: r v; w! }5 u; l
6Description : Demo the how to convert int to const char *5 L/ u6 L& M$ j A
7Release : 01/06/2007 1.05 p8 j. f2 M0 H! N) q) h, G
8*/! X$ k" |) D$ r; O ?
9#include "stdio.h"
: h" i3 @# W1 T+ E; u3 ~// puts()
! i3 Z1 T3 @7 U; f$ B6 _( i/ [8 B10#include "stdlib.h"
2 q9 R; U# S# O// _itoa()! z' {: c) L" M2 {! R: [% `
11
1 p2 L" c0 d3 G! [8 c12void int2str(int , char: {) Q& u1 @0 H1 p( R2 R( `
*);) H0 A7 y5 J# k3 j0 x' U' ?+ _
13
; C* u1 o1 C( I& k2 e7 J" V) b! l14int main() {
# y9 \; M+ z# T15 int i =5 d# C7 }; ]& U0 d9 u- V" _ Y+ x
123;0 h$ h: z" j! C5 b) V/ [) ^
16 char s[64];
7 P# _7 ~, ]# q& S# }17 int2str(i, s);
- m1 d8 f( |% V% }+ Y! N! L18 puts(s);
# K' w8 F: l1 R( e0 G" h G19}
. M1 N8 m2 p A. K, X20& v! z4 N: j1 T
21void int2str(int i, char' y% L" q& D: I$ I" M: V- h
*s) {
* r9 k/ r0 ~, c% P' V1 H8 u22 _itoa(i, s, 10);6 P- l8 R9 r: H: Y n9 g5 @
23}
1 N6 c" B; ^2 S+ t/ e+ r$ b# u" B. @$ X( H7 G
; h/ E( Y& W, h4 m( o2 |- ?
3.若用C++,stringstream是個很好用的東西,stringstream無論是<<或>>,都會自動轉型,要做各型別間的轉換,stringstream是個很好的媒介。7 i {2 H( x V# `; C
1/**//*0 E0 a$ V, R1 J! _
2(C) OOMusou 2007 http://oomusou.cnblogs.com1 T% r, Q) [7 [6 W7 K
3
|4 p' N6 o4 F ?! N 4Filename : int2str_sstream.cpp
- @- \7 \6 u, T4 B' N 5Compiler : Visual C++ 8.0 / ISO C++
$ B' i. B1 T! P" h9 A 6Description : Demo the how to convert int to string
1 _) r9 ]# u" r H; I6 X6 _. j 7Release : 01/06/2007 1.0
) u- K: P5 J' z! f6 w: K- b 8*/5 E* m, G' c+ K8 R
9! {; E( H2 K# b! F6 C
10#include <iostream>+ m( I4 M Z+ L6 m D
11#include <string>
3 z2 v# N2 L/ L( ~1 H12#include <sstream>
' ~1 H, y' T5 O132 a f! b/ K5 C4 G. o
14using
) R* X6 I0 F) [0 F1 Dnamespace std;
7 N9 {9 t1 x3 S1 m+ }1 z15
2 [# M) M2 A3 k# R16string int2str(int &);
0 K2 j$ ~' a# h" R6 R17
8 `0 e2 y/ ]" i, `18int main(void) {# u0 n6 T5 ?% a0 v$ R$ d
19 int i =
3 p% r, t, r& q3 e123;* f( d0 V7 G& V
20 string s;
9 x7 t& W& X* q3 w6 J' l21 s = int2str(i);9 F L+ M' m2 S
22( L* N9 E3 ]* w
23 cout << s << endl;
$ a( w D! Y. {, g- D24}& l+ G6 J4 T( |+ ?& m$ q
254 R5 [4 f8 C) X3 e7 s
26string int2str(int &i) {) g6 }4 U% K/ |. B
27 string s;, [+ F1 {1 |3 I$ _7 }
28 stringstream ss(s);" \+ T. t& g/ C/ l
29 ss << i;9 z/ v$ J% p3 Q; t1 g+ F
30/ _, s# M3 b. H Q" W
31 return ss.str();9 Y. N4 F! k5 ?5 Q( l+ }
32}
/ M" F" Q( s1 J7 M3 D% A) R( B$ O. U. S' q7 K/ I
6 i/ w0 N3 R \4 v- h, x
4.若用C++,據稱boost有更好的方法,不過我還沒有裝boost,所以無從測試 |
评分
-
查看全部评分
|