TA的每日心情 | 慵懒 2016-4-21 12:07 |
---|
签到天数: 3 天 连续签到: 1 天 [LV.2]偶尔看看I 累计签到:3 天 连续签到:1 天
|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
C/C++並沒有提供內建的int轉string函數,這裡提供幾個方式達到這個需求。
. y3 G0 l/ |: e1.若用C語言,且想將int轉char *,可用sprintf(),sprintf()可用類似printf()參數轉型。 1
/**//*
. o) r0 L p, W. R6 J. M2 K 2
(C) OOMusou 2007 http://oomusou.cnblogs.com- o( k/ Y% q9 P% m5 S
3. ?$ O- a, u) D% Z' _" ]
4Filename : int2str_sprintf.cpp
/ I7 J( L3 F' g9 S% } 5Compiler : Visual C++ 8.0 / ANSI C7 j2 L4 O! T! x$ m# l9 D5 N. Z
6Description : Demo the how to convert int to const char *4 ?/ j, C0 P- E# ]8 P9 {0 n
7Release : 01/06/2007 1.08 B! M: M4 u$ u- N: q- l
8
*/& u; j" {% [. G! G* O
9
#include "stdio.h" m8 @! k9 H: C$ c7 ^: m' L
10
5 L7 v0 O2 L/ \5 e% m& e2 ~' P4 f11void int2str(int , char ]/ Y) F6 d$ a" n
*);
, u! t) v1 I: N3 Z6 i. n/ y12+ J% v" i- E( p/ X8 c7 p% ^! _
13int main()
{" t- z2 T6 B% x9 y+ f7 G" m
14 int i =1 ~9 i2 r/ V2 v/ Q/ W8 H: A L/ O
123;- {/ H4 j( m1 J% N0 R3 k) t. k4 n& F
15 char s[64];
0 U- E* ]3 P7 a# k16 int2str(i, s);. W$ h' A0 k8 N) y
17 puts(s);3 L* Y- A& s q' x% t7 X
18}
c' _ Q3 r, Z/ J& W( R5 e19
! q; i% B5 ^3 ?* S& o' i20void int2str(int i, char
7 O1 I% y. P- P. F*s) {
" E4 x) { r$ w( U% J21 sprintf(s,"%d",i);
! m1 q. K5 `- m, d22}
; ^5 c: n( ?5 z# d- n, a! Q& M) P( ^5 e3 N3 n. i8 [+ C1 U
& o$ t8 h" e" c9 |& E) Z
2.若用C語言,還有另外一個寫法,使用_itoa(),Microsoft將這個function擴充成好幾個版本,可參考MSDN Library。
$ h1 w1 i2 c4 N' y/ p: | 1/**//** e. i8 \0 `3 Y% }! T+ f9 k1 N
2(C) OOMusou 2007 http://oomusou.cnblogs.com. p$ a. W, P+ y/ m+ f6 }) |9 `) S
33 _% w5 c# Q3 L, D% u, Q; v& Q& S, B
4Filename : int2str_itoa.cpp
: H2 ^7 g. Z r6 Q/ k- t 5Compiler : Visual C++ 8.0 / ANSI C
; \ }0 \! L+ Y$ P! v7 }+ V 6Description : Demo the how to convert int to const char *1 f. E& O5 J5 F/ _
7Release : 01/06/2007 1.07 b# q- _( W4 C* y6 G+ v! m: ^* f
8*/
) v% ^1 M! `4 {/ ~! n 9#include "stdio.h"7 G- ^& }# j. U3 y
// puts(). R) G; Z7 K, r0 x+ o; R
10#include "stdlib.h", Y' n. x8 i( [* k' m6 ]
// _itoa()
4 J( C' ?. o- G! h+ v0 E115 k9 }8 Z' {8 k
12void int2str(int , char9 t0 o. n r( k1 u4 [
*);
( h; A) m0 f$ O1 Q13
0 P9 G; n$ r, J! j14int main() {
# e/ g" h* s6 H3 z# ]15 int i =
/ B1 ]8 G. }# b& R0 i( R' B. G123;. ?+ v* ~2 P0 U7 O
16 char s[64];0 D& P7 Y( i9 f2 \9 M
17 int2str(i, s);6 G/ C; n/ D+ \" m3 M0 m' _
18 puts(s);
+ X! R# A, _% F8 [* E1 f19}* P/ `. _+ r# W* C) V
20
9 z( ]5 [( R7 C- f7 u21void int2str(int i, char: t5 e/ \; n$ ~2 v; |. i" D3 b2 a
*s) {
: I# U8 `5 Q6 {- B8 Q! n- \* p2 O. g22 _itoa(i, s, 10);3 c; H3 e7 G7 U4 Z/ A2 [: j' ?0 y
23}
- \ ^+ C" G8 ^. U: T
5 u- h5 S( W" { D3 \" d9 q' o Z L) B& b0 n
3.若用C++,stringstream是個很好用的東西,stringstream無論是<<或>>,都會自動轉型,要做各型別間的轉換,stringstream是個很好的媒介。
0 D( X( ~: s+ }% M: q k# c 1/**//*0 Z+ E. D- N* N _ h# t m* @5 d
2(C) OOMusou 2007 http://oomusou.cnblogs.com4 V! S8 V% d9 I% D M# A: {. ^
3
; L# j3 V( u+ c! |4 o# a 4Filename : int2str_sstream.cpp1 T7 F* ~- l6 ^ I; z: Y! ~
5Compiler : Visual C++ 8.0 / ISO C++
5 j- Q2 }* t# `0 m) `$ I* U) ^$ N# o 6Description : Demo the how to convert int to string2 D" {2 Z7 W' y# Z( U. B1 a$ y
7Release : 01/06/2007 1.0- a9 W1 r( ]% J. y
8*/
# [% x3 {/ j, e1 d0 f& d 9/ s. p+ C0 B! C+ ?
10#include <iostream>
* T1 g3 A- j$ V+ F' K1 z! B11#include <string>/ s9 Q1 ?5 s& K( Z8 e/ F0 h2 m
12#include <sstream>
% O! `5 S2 d Q$ o- j6 T1 o& A13/ m4 O6 R) Z1 _3 G1 u, k% g
14using
: ^2 d e& G" d1 z8 Onamespace std;
& I/ U6 I; g/ I+ ^15# y4 X @- E5 @+ g; z. ^1 J
16string int2str(int &);6 v' z y( G" p# B$ \1 \
17
$ `6 E# T* I# O6 B2 m18int main(void) {
- p" P- J6 [5 \6 A& O( a& _: C19 int i =# \9 b O% _8 T" V' D) J/ i
123;! S8 i) l' P) \7 A8 f" T X
20 string s;
$ W x( b0 h( Z, ?8 o7 J: ^2 u4 Y21 s = int2str(i);
. N( y' R0 o ~8 C" p& A22
/ T. Y& w( X* F* N3 g# u23 cout << s << endl;
6 o0 G; z* z- b$ R7 w) u24}! N5 r8 M3 A, `& \" J" X! ]
256 D% |' j4 p4 z: B+ ` F
26string int2str(int &i) {8 X. S+ b* f+ i
27 string s;
- j, p) Z4 p x7 A! k28 stringstream ss(s);) g2 r5 }) f1 Y* d! U, u
29 ss << i;- F7 w; l2 n3 Z# M
30
+ ` I. \3 O0 d( |0 H3 _31 return ss.str();
) v- c! B. c" \8 g( I32}/ k# X& o% O) S
# ~* P& q/ w# C3 S" d
$ t) W& w8 ^3 k" B' M' {
4.若用C++,據稱boost有更好的方法,不過我還沒有裝boost,所以無從測試 |
评分
-
查看全部评分
|