TA的每日心情 | 慵懒 2016-4-21 12:07 |
|---|
签到天数: 3 天 连续签到: 1 天 [LV.2]偶尔看看I 累计签到:3 天 连续签到:1 天
|
|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
C/C++並沒有提供內建的int轉string函數,這裡提供幾個方式達到這個需求。
, ]3 r' g- v+ }% S. N1.若用C語言,且想將int轉char *,可用sprintf(),sprintf()可用類似printf()參數轉型。 1
/**//*6 E+ @: \5 Q& E2 ^* ]! O7 j
2
(C) OOMusou 2007 http://oomusou.cnblogs.com7 y& i: Y( H- a& H8 v u
3
% O. b2 o/ n+ Z* z6 w5 r 4Filename : int2str_sprintf.cpp1 m4 C5 H9 l- h$ J- g5 i# N/ q7 y
5Compiler : Visual C++ 8.0 / ANSI C
/ Q) S6 S6 T0 f; `0 t4 a. p$ j 6Description : Demo the how to convert int to const char *' k2 W1 f. i6 q% j
7Release : 01/06/2007 1.0
- P4 k; r0 o" X, Y0 i7 U+ p 8
*/
3 M3 p# A8 p8 x' X0 G8 a; [ 9
#include "stdio.h"
" ]5 Z' z6 m+ o3 ^9 @1 l5 b10' c. z w/ R* M7 C/ V( O- `
11void int2str(int , char
5 G! y+ n, p/ X*);
' C0 `$ @1 n8 `( [7 U5 b12
: s1 l2 g0 {2 |/ K13int main()
{
O# `; t0 U7 {0 `' d( c2 K" e& p14 int i =
6 G' J/ p! C6 b9 Q! E# ~123;% O% R5 K& o! P. C5 y3 [8 ]1 J. ]1 D
15 char s[64];
2 x7 i# N; B0 r' A/ K16 int2str(i, s);
- v4 a$ P% {2 G- q/ g1 p& X' @17 puts(s);
8 }) N; u9 i" b7 J4 ]5 N' I" |18}
5 A- U1 {" c J5 M+ l' ^2 C" A9 `19
: W" s/ x, P. D2 b% v, R3 ~20void int2str(int i, char, h: M. g% @, f. S; `3 d
*s) {5 E( R5 H. V0 I$ e; T
21 sprintf(s,"%d",i);6 L: n( i2 c* e- ^+ X; s# `6 [* a
22}
4 b# q! H8 c0 b- t7 b
2 B& W2 j5 i: W8 W# ? y0 \: t& R3 O8 W
2.若用C語言,還有另外一個寫法,使用_itoa(),Microsoft將這個function擴充成好幾個版本,可參考MSDN Library。2 A0 ~% n3 t2 p3 j, C# p* v% O l
1/**//*
1 m. S! ~4 u9 a/ u! a7 v* i 2(C) OOMusou 2007 http://oomusou.cnblogs.com
4 G+ N7 M: `$ f/ j 3' {- p. |+ |' J& l4 i
4Filename : int2str_itoa.cpp
& k8 b9 r4 s3 E; K* ~ 5Compiler : Visual C++ 8.0 / ANSI C: G9 N# \. J# M5 l) w& M' d5 ]" U& y
6Description : Demo the how to convert int to const char *7 `. R$ w' z$ L
7Release : 01/06/2007 1.01 ^' Z* ?: Y! Y1 h! s. ~
8*/" e+ f/ y6 Z% G. J
9#include "stdio.h"
6 o Q- y( E6 b0 C- N. o// puts()' C/ Q& {7 c1 N, O: Z3 @+ O
10#include "stdlib.h" ?$ y r3 w# ]7 ^! }
// _itoa()3 l# V2 m9 K4 h* ]/ W/ n1 \4 }
11
! }/ I5 S5 i' u/ [. E& ~1 a12void int2str(int , char
9 W( |: b \4 R1 }0 q' e$ r*);
% ^. {6 H$ n! l- o134 J! ?7 E; Q) h
14int main() {
5 B9 _ F, G6 r15 int i =" T% a4 ?# `* H) S7 [* [$ u
123;5 t1 l1 X0 G& m
16 char s[64];1 ?) y: t" |9 n9 J
17 int2str(i, s);
9 B; v. a( ~- |6 C0 C: l/ p18 puts(s);4 h; l! D' }3 M$ |+ O, M
19}( _7 H% A/ J9 E4 Q: I
20
/ U8 b8 t8 r+ q) u# G; }21void int2str(int i, char
1 v# k/ d( c' K" p*s) { U) O9 y( k0 e. v9 R
22 _itoa(i, s, 10);7 `. F. ]4 P6 F/ c% {
23}( Z: A, ]2 C0 N+ D% C4 L
! l: q" K, m' P8 g3 e
. G- a0 o [- Q% w' A7 {2 V F/ r3.若用C++,stringstream是個很好用的東西,stringstream無論是<<或>>,都會自動轉型,要做各型別間的轉換,stringstream是個很好的媒介。
2 D' g, K6 F& [$ T# W- g; E l 1/**//*9 G; A; ~7 F" o$ @. ?# d
2(C) OOMusou 2007 http://oomusou.cnblogs.com
# W3 j& _) G$ P) ^ 34 V- a7 B! v! d# W
4Filename : int2str_sstream.cpp
% q6 f+ I" X$ E, c# w2 ?# w 5Compiler : Visual C++ 8.0 / ISO C++
; ~, C( t1 @/ r' v2 d% y 6Description : Demo the how to convert int to string
' t ^1 u% C: i 7Release : 01/06/2007 1.0* R+ _5 F1 c7 p a2 P) d4 O
8*/
, z E* J0 P. z R 95 H' z R8 [; v8 s
10#include <iostream>! g" k; L' w: W) w/ r0 o7 b
11#include <string>
$ Y. @. o1 F9 e% F0 l1 g7 y12#include <sstream>5 _2 R+ b2 W6 e) O5 q" h
135 ?% c; q0 j9 F8 I2 `' K
14using! a) l7 w( _6 a& f- e% y: ~4 z% ]
namespace std;( L9 ^' z* L) [% j3 K0 t. ~
15
- q+ D$ y! {' o2 O16string int2str(int &);: X* b2 m$ a: t
17
4 m% B8 R$ \6 H2 ^! }18int main(void) {
1 t& w( a* a* M* D( Z3 }( r: M19 int i =+ R$ |; e3 Y# i; R& e6 ?
123; `& C, A, E& f. @+ ?0 w0 E
20 string s;
2 A) a) w* u ^, O# Q9 t21 s = int2str(i);
; [) C$ g! T) y$ E! R227 f$ W" H) ^& _! `
23 cout << s << endl;, p# r' l9 T5 d, z6 D
24}6 @& B2 Z" d2 N P& `3 Q2 T; V
25
% h% [, c# g& U: `26string int2str(int &i) {& Q& C" n) _0 v) a; ^. v' }, W
27 string s;
1 ~$ |7 I( Y, W8 B/ q4 L, b6 s2 R# X28 stringstream ss(s);
1 b( o) d' {4 x; L: a3 L; {29 ss << i;) B) t) K, B5 B0 |/ B2 j
30
+ U d6 w1 R( f( o31 return ss.str();) @1 H& l$ I6 e q( s
32}8 V* d0 ~$ C+ p" ~3 j
. g& T) d' }( ?7 U7 V; G" {/ F2 ?* I6 m9 z+ Z6 [
4.若用C++,據稱boost有更好的方法,不過我還沒有裝boost,所以無從測試 |
评分
-
查看全部评分
|