TA的每日心情 | 慵懒 2016-4-21 12:07 |
|---|
签到天数: 3 天 连续签到: 1 天 [LV.2]偶尔看看I 累计签到:3 天 连续签到:1 天
|
|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
C/C++並沒有提供內建的int轉string函數,這裡提供幾個方式達到這個需求。
* I }$ ^/ n, f1.若用C語言,且想將int轉char *,可用sprintf(),sprintf()可用類似printf()參數轉型。 1
/**//*
! h0 u; p ^4 ~" ` 2
(C) OOMusou 2007 http://oomusou.cnblogs.com
, j B' z+ @& F7 ~ 3
! u- R T1 q* g 4Filename : int2str_sprintf.cpp
0 I* N# J! c4 s4 t$ d 5Compiler : Visual C++ 8.0 / ANSI C! ], k. u5 c2 r H
6Description : Demo the how to convert int to const char *
2 ^/ U2 r& m* U6 |. F9 O# g% }7 D 7Release : 01/06/2007 1.0
& F- e# B6 ^1 N+ W H- m5 D 8
*/
! o4 y% u* a0 t. i; F 9
#include "stdio.h"
# a% H: Z) ~9 i! D4 f1 y10
( c: k8 I2 R$ c" W# o2 q0 l% f: |* t11void int2str(int , char# H' D( O/ Q, ^; S0 b0 D9 m+ ?
*);, D- P7 D; T: h
12
, T& r, n9 D& w* z/ O13int main()
{
7 {! w+ Q" ]1 L" c14 int i =& r7 ^! f* O$ s W. D0 _
123;
' B" j& K' X' z& X4 e5 K( ~15 char s[64];
' a P! i4 U% h$ s0 K% ]16 int2str(i, s);
3 E9 C7 N7 l2 Q9 c17 puts(s);- ~: ?9 ~* @$ @+ g
18}; l+ n, E( @: s; ]2 x; ^+ }. [
19
7 R/ ~) B5 |1 `& ~6 Y: B20void int2str(int i, char/ ]9 w: D* l- p8 v+ y& j9 `6 a8 E
*s) {
n0 r7 p# f3 J" V3 X21 sprintf(s,"%d",i);+ ]/ O- ?) W( @
22}- a% I3 B, I+ ^, O4 i& H3 V: c5 M
! }# B4 y0 J, v, ~& |3 h) s [. ?7 r
3 m4 ?6 C, R9 N% u# G2.若用C語言,還有另外一個寫法,使用_itoa(),Microsoft將這個function擴充成好幾個版本,可參考MSDN Library。9 L" }$ L6 ~& x1 l. f: L* Y$ Q
1/**//*+ r% r( D5 n6 U9 w9 g, A
2(C) OOMusou 2007 http://oomusou.cnblogs.com$ O# j% Z$ a e* Q5 Y# x% }
3
! B6 t3 m/ ]* ?4 X 4Filename : int2str_itoa.cpp
* J) m* d2 U# K3 ?6 M6 G' L 5Compiler : Visual C++ 8.0 / ANSI C7 H2 h% l! d. [
6Description : Demo the how to convert int to const char *
$ P) x n1 |# I3 Y4 C: H( l 7Release : 01/06/2007 1.0* _1 F$ z' d9 D& ~5 c _: M
8*/4 o9 I) |* S7 J }- l d5 S
9#include "stdio.h"9 a' f/ \' X0 m" ]
// puts()! X% u1 @( L' k+ P8 r. R, l' M
10#include "stdlib.h"
) X* j5 c2 ~" R! ]// _itoa()
, Q5 z" F4 f1 P/ b/ b2 e1 w111 e5 G# o' B% |1 e/ ?
12void int2str(int , char% p! c0 N1 A/ j( j
*);6 A2 v4 O5 b _$ d
13
0 w. g# A+ o S) L' [3 E9 U14int main() {1 P0 H6 j4 N9 b, v; ~! v. l
15 int i =2 P; C6 L3 W9 g
123;
( Q3 f. V i' e z6 r16 char s[64];
" r6 f3 J Z9 ~1 ^" u( n17 int2str(i, s);
' P! h. p) R4 X+ v; c& z18 puts(s);
; g$ f7 B1 D) L6 I19}
$ f2 T0 W+ Q7 ^/ t: t, D20
" Z: X7 e' @/ ]( l: [21void int2str(int i, char
4 u* H4 p- `- f*s) {
1 `/ x p) W5 g9 j9 x% F22 _itoa(i, s, 10);
% }- D8 E0 |8 d8 V( w9 X! w23}
% M* v/ f; T7 Y! u, P& m6 G \5 V8 q
! M3 I/ @+ M/ r' D c3.若用C++,stringstream是個很好用的東西,stringstream無論是<<或>>,都會自動轉型,要做各型別間的轉換,stringstream是個很好的媒介。. L: X6 T0 b8 f* G0 r7 A
1/**//*
; ]9 k- g+ P9 Z/ n3 z6 y 2(C) OOMusou 2007 http://oomusou.cnblogs.com" U1 l- z O- l8 T% K0 C
36 v. a- U/ X4 O |3 B O0 G6 t
4Filename : int2str_sstream.cpp
+ O) J/ M. S+ M( u; G: D 5Compiler : Visual C++ 8.0 / ISO C++
6 u- K4 F z) u: g: f 6Description : Demo the how to convert int to string
- ~! P1 L$ d% m8 ` 7Release : 01/06/2007 1.0
% t/ Z! |& u1 P 8*/. G6 R7 x& K$ A$ |; T7 O
99 F" G: `6 s+ ^5 [
10#include <iostream>; P7 `5 |9 V4 F0 B4 P4 W3 P6 v
11#include <string>
; y9 S: K7 D: l8 b% [12#include <sstream>1 X% z7 t3 s0 Y- Z! G8 T" }
13 [9 ]3 [0 w L. s: I' L+ ~
14using
P: v. N: ?& y' J6 rnamespace std;8 F5 x, I6 ]% v
158 I. [4 \ {+ X" t: t, F/ ^
16string int2str(int &);
6 V8 }9 H! c# x- t4 Q17- Y& |! z, o* X) T; t% J/ {* K+ n. B8 f
18int main(void) {
# ]1 }/ _2 X9 ~, V19 int i =
! i; [8 B" Y0 s* u123;
' C& S6 Q; _/ {, p* ^6 l$ d20 string s;
0 s0 W$ `6 l' b0 [' h2 a21 s = int2str(i);
# u% K/ Q( x# ^9 m- F. P j22% B. z+ V2 [: M. C1 Y6 e
23 cout << s << endl;. {/ ]$ s0 ^+ x! i1 a
24}) [1 G* l# q2 M! s) `+ c) @" R
257 h& s& h7 H3 G1 H5 L
26string int2str(int &i) {
" m2 N* A& V9 o9 m3 b+ h# W, g' |27 string s; G/ h1 L* y) t4 A. ~
28 stringstream ss(s);; R) C5 y6 z3 ~% ]' F% x; r
29 ss << i;- S3 ^: ]; I l0 o/ R$ {
30
( K# i t Y! ~, D2 F31 return ss.str();
" }7 M9 j6 k) A/ a5 |) n32}0 R2 C8 J' k+ S
& i# n4 I* K9 d! i) H$ u
7 G! x$ b4 V$ Q# F" x. y4.若用C++,據稱boost有更好的方法,不過我還沒有裝boost,所以無從測試 |
评分
-
查看全部评分
|