TA的每日心情 | 慵懒 2016-4-21 12:07 |
---|
签到天数: 3 天 连续签到: 1 天 [LV.2]偶尔看看I 累计签到:3 天 连续签到:1 天
|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
C/C++並沒有提供內建的int轉string函數,這裡提供幾個方式達到這個需求。
" n5 m5 L. ^1 @0 t4 f6 g0 _1.若用C語言,且想將int轉char *,可用sprintf(),sprintf()可用類似printf()參數轉型。 1
/**//*( q3 R3 ~3 ?/ z6 R) @- I
2
(C) OOMusou 2007 http://oomusou.cnblogs.com
( F9 s5 e' a, {0 R' u- J 3
9 N1 I; T0 P; r6 b6 G 4Filename : int2str_sprintf.cpp
, L7 v4 Z+ P+ B# |' v, ~( c 5Compiler : Visual C++ 8.0 / ANSI C
p9 n P" p$ b; E: _& p 6Description : Demo the how to convert int to const char *
2 K S( F+ A) m/ |2 m 7Release : 01/06/2007 1.0
1 l9 J1 g3 u3 n 8
*/7 l% T* P2 z/ ~" Q F; k
9
#include "stdio.h"
- g7 `9 J3 i8 p, w5 D4 j9 J10! ^. F) b7 \/ b% P, h+ e5 M. P
11void int2str(int , char0 o. I# O9 n7 q% u" k5 ^
*);
2 D% F2 m+ h: ]; F7 r12
A+ s, q9 \2 ?6 K13int main()
{/ {7 X$ [3 K9 `6 \! x
14 int i =
& A/ B4 ^+ e/ |' k! m9 O* b123;5 \& O4 B' c7 ]3 v& W
15 char s[64];! S4 h: P' f' [4 e: Z
16 int2str(i, s);0 c6 Q4 i1 ]) ^3 e& M5 o9 r2 m2 |$ C' e" |
17 puts(s);
+ e* }' H v7 {* \9 t18}' B5 ?' Y9 z1 u* a! y& R6 w
199 e+ A2 Y% V1 P& i$ B
20void int2str(int i, char/ l) ]/ M4 A6 w7 N- y* O/ E
*s) {% p# f' a9 a- d+ h
21 sprintf(s,"%d",i);
9 X1 e1 g u, R# @: w! G22}
+ A3 x6 Z( s# A* T0 V H" Q( t
6 r) `( \; l) _" A' ]# c W: I3 a2 I# @$ l# B( T4 a7 E
2.若用C語言,還有另外一個寫法,使用_itoa(),Microsoft將這個function擴充成好幾個版本,可參考MSDN Library。
. B; W8 I! D0 [0 K# o* G 1/**//*/ ]8 Q4 r9 |, _! U3 b& V9 Z
2(C) OOMusou 2007 http://oomusou.cnblogs.com
) h( ]0 ^ b; ~1 Y 3$ l7 D6 k+ j9 f" j/ Z& I
4Filename : int2str_itoa.cpp
6 e' U8 i3 D( ^! V5 n 5Compiler : Visual C++ 8.0 / ANSI C. K( G/ r- I! m! q, g
6Description : Demo the how to convert int to const char */ D9 ]; {! r+ C
7Release : 01/06/2007 1.0
J, k7 h( o& t3 V0 J! N! | 8*/# t! B- k" F6 n, D6 |8 j+ E
9#include "stdio.h"% X+ y* x8 R- y7 D
// puts() T$ ?! l+ U$ q" Y' h8 X
10#include "stdlib.h"
" b) A0 t, B) j' P1 ~, J+ O// _itoa()
* {: H- E7 d* h- D+ x1 `% P11
- J+ ` @1 w% L- o+ `4 B s2 z12void int2str(int , char1 I6 |0 v- I! }7 [2 ?
*);, v& ]2 e6 T# p$ S
13
3 o. [3 C8 u& v0 w14int main() {
/ d3 O& n* f6 w! t. \4 [3 S: V# b15 int i =
; w, u6 A9 v, U: `+ m" L123;
3 s- I j$ G" s16 char s[64];
/ ~8 f6 z: f) G17 int2str(i, s);
4 Y) g2 {8 P3 M i1 v18 puts(s);4 P. u4 e: m: L
19}
9 G- ~3 O! |* E. ?. ]7 }* Q! {20
+ e% w" N. j+ z3 d- Q1 j. P4 L21void int2str(int i, char4 y8 K- z6 f! G$ }$ f1 u+ I \5 G
*s) {1 s3 [5 [* X& f, b; P7 c
22 _itoa(i, s, 10);
$ i( j! T- H: G# _2 n' t) V! S* f0 X23}
L0 {' o1 x0 S: S: e& T# P6 j! G8 b4 o6 B. w2 T9 @. W t
6 q( O" ~9 Y$ `, w2 R9 P3.若用C++,stringstream是個很好用的東西,stringstream無論是<<或>>,都會自動轉型,要做各型別間的轉換,stringstream是個很好的媒介。
. y. \$ i8 o. ^1 R1 L" { 1/**//*: _- w& D. j4 k. ?
2(C) OOMusou 2007 http://oomusou.cnblogs.com
) A: ?' v; D# |; [ 3% H" \. w. P7 i+ z! L1 C
4Filename : int2str_sstream.cpp3 k* G' M' B. t& J5 F/ X/ x( w
5Compiler : Visual C++ 8.0 / ISO C++2 v X9 d, U( o$ Z7 I, I
6Description : Demo the how to convert int to string( _6 N3 E3 r+ t4 Q8 m
7Release : 01/06/2007 1.0
* A+ Q9 J& k4 o/ j3 i6 a" D 8*/' _. m! Q x+ T8 N/ V8 K) R$ y; h
9
1 F1 m4 h& K1 U) u% f% _% c3 p10#include <iostream>5 @: I6 ?1 a$ N
11#include <string>
( \7 ?/ m! g$ U9 l12#include <sstream>0 A1 `9 O" ?4 i* v* _# ^# f3 i
13
$ ^' o. G6 W x. o14using& P! t( A" ^2 ~
namespace std;7 f6 k9 s! f* b( p7 V2 P
15
/ B4 Y; U, u' J# |1 U' n) ?16string int2str(int &);
6 A" C# \' o- [6 b17. K% [7 E) s2 G/ Q" t g0 G4 R
18int main(void) {
6 ^4 T) W& p9 h# j1 w19 int i =+ f. y* P# u K6 a8 ?! e1 N5 P# }
123;
2 W' z( U+ |- G6 J7 M2 R20 string s;
a. X: i, r, ]21 s = int2str(i);) ^4 X7 m) y- K$ S3 C) K& L
22
) z& @8 ]* c& b23 cout << s << endl;
9 {/ X1 x' J. \& T. q2 y' u4 A24}
, b6 |, y* m3 \2 K, i25. G. P6 s- X! ^+ h/ S
26string int2str(int &i) {
& N$ L6 J( B$ {; x" J1 q9 ]9 J27 string s;; O ?8 J. l* b
28 stringstream ss(s);
! ~0 V! [$ j8 g. E. B5 P29 ss << i;' i$ ]4 e7 Q; E/ |: W8 u
30
{2 N1 P% C3 q) P3 Y8 z7 g31 return ss.str();
! }, P5 i, m" l g1 I) m32}
/ h7 m+ t- ~9 e5 S9 V: b% {2 i c: j+ Y/ W9 k- }
( ~8 S+ ^: i* c% I4.若用C++,據稱boost有更好的方法,不過我還沒有裝boost,所以無從測試 |
评分
-
查看全部评分
|