TA的每日心情 | 慵懒 2016-4-21 12:07 |
|---|
签到天数: 3 天 连续签到: 1 天 [LV.2]偶尔看看I 累计签到:3 天 连续签到:1 天
|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
C/C++並沒有提供內建的int轉string函數,這裡提供幾個方式達到這個需求。% \$ Y& \/ h: X& \- i
1.若用C語言,且想將int轉char *,可用sprintf(),sprintf()可用類似printf()參數轉型。 1
/**//*+ v. R6 B# V1 \2 c: F7 w
2
(C) OOMusou 2007 http://oomusou.cnblogs.com7 E; L- B) }1 f0 ^
3+ D: @* z7 Q2 C* V
4Filename : int2str_sprintf.cpp
# S. X9 p% T( B- f0 K6 v. r 5Compiler : Visual C++ 8.0 / ANSI C/ s9 d5 Y* c2 |) T
6Description : Demo the how to convert int to const char *& t+ H( N U" J5 J; x
7Release : 01/06/2007 1.0
7 c+ L" x0 P2 C7 `6 s# h 8
*/
3 F8 t+ [0 b' _2 ~, T 9
#include "stdio.h": }' D8 H q! O9 S2 D! t- c- V
10) p5 B) V. }6 o, b
11void int2str(int , char
! F5 S3 \. v3 {9 ]*);
' `! n* M; R$ o7 r" _' b0 g, ~12: |* d# `/ P/ I
13int main()
{7 }* I2 M: S/ o# M U: k
14 int i =
7 f/ B2 R7 p+ h1 w, Z* r5 q123;/ }9 @ |. z+ Y1 P# }" n
15 char s[64];6 O# d E4 r2 l s
16 int2str(i, s);
. L* ?8 P' F0 Z( w; z9 Q17 puts(s);- ]% H( s# |% W6 r* F! U. t3 S
18}! s6 `" d: z/ a/ p' X
19
0 y! _7 _- [" _- t& _0 e20void int2str(int i, char
' M- F! N* G( U& r$ D. c*s) {9 o, z) ` {3 r3 T: u
21 sprintf(s,"%d",i);8 B# J9 K6 h" [# m) U
22}
% k _5 i! F) g6 \
+ V1 I% |' E! l' P
7 F7 g. Y# m9 Q2.若用C語言,還有另外一個寫法,使用_itoa(),Microsoft將這個function擴充成好幾個版本,可參考MSDN Library。& e& D: G+ X8 J& x3 ^& |
1/**//*
5 A: h: j5 I/ ^; @7 E+ \ 2(C) OOMusou 2007 http://oomusou.cnblogs.com% A$ u4 b4 e" p0 n! t2 X0 G$ U: c$ w ]
34 v( s0 F, T- a+ F+ v
4Filename : int2str_itoa.cpp& S/ I- V) w) Q. m* `
5Compiler : Visual C++ 8.0 / ANSI C# Y" I3 s8 s4 \
6Description : Demo the how to convert int to const char *. Y6 q3 F: q3 v$ G
7Release : 01/06/2007 1.07 C) w. A: ^* k. }6 H
8*/
/ q# A& w7 T# Q. z! o- N/ e' f2 P 9#include "stdio.h"* l; F+ }' K% Y) M" L3 Z
// puts()
) a x" ~# t& U10#include "stdlib.h"
* }' j8 p& l1 ]) x" d8 h// _itoa()3 Q+ M9 y+ b* o
11
: K- ~$ H+ d- N& `0 ?12void int2str(int , char0 {+ e' p, b+ _
*);% A# j( D- G$ ]. k4 E
134 y( `& s# ^3 R# F6 ?7 R0 K
14int main() {& C+ l+ c" L+ {) E
15 int i =- L2 o- q3 v2 K, ?# n9 @
123;9 G) w, m# q p; P2 U* m
16 char s[64];
, i4 j/ M: H" \1 M0 e' ]17 int2str(i, s);
' ]0 Q2 [8 @' J! j8 Q& M18 puts(s);
% }/ J6 c! K& a( d' @9 a6 ~19}( }+ t- X- j9 |) m& ]7 c
20
) j' w0 R0 D1 X6 E8 s21void int2str(int i, char. s* {, Q0 S4 g7 @+ R2 L" `
*s) {
) Y# W; D- ?4 F, s7 I; ]( I22 _itoa(i, s, 10);
& d) z/ I9 A* b6 A3 v+ I, Q23}
" y5 @, N1 g! U- n7 T$ |+ W# }+ K7 H* e
6 U6 p& V9 H$ s9 a* u! ^9 @
3.若用C++,stringstream是個很好用的東西,stringstream無論是<<或>>,都會自動轉型,要做各型別間的轉換,stringstream是個很好的媒介。$ P, J4 q* r% j
1/**//*
+ U3 w4 C) a' [3 {" v 2(C) OOMusou 2007 http://oomusou.cnblogs.com
$ ]; w1 n+ Q6 V# v: L) p 3% {/ N" ]+ E+ N! S/ o
4Filename : int2str_sstream.cpp+ D# n8 q8 I, h: L/ {' {
5Compiler : Visual C++ 8.0 / ISO C++0 ^8 A* W* P/ V( c, }$ q
6Description : Demo the how to convert int to string
& N. C9 Z+ P/ ~ 7Release : 01/06/2007 1.0& T! v% }" {+ b ]* ?* f1 e3 q3 z
8*/
( V" Y/ v5 d: {- q0 G# D' m Q 93 J. r a! Z, H2 n/ S
10#include <iostream>1 l! w; I) z3 q9 k: x& p2 f
11#include <string>$ `" M* t0 v! Y$ M4 T. F
12#include <sstream>
$ w0 ~6 m8 u' L8 [& V' E13
$ d% z! l1 \, l. n2 q, V" n14using
% X# L% y2 l# X# t) [! I& j& rnamespace std; ]; ^( u( N" E6 s7 C
15
) c/ n& L- B) V: m16string int2str(int &);
! a! \5 A9 \8 m173 @5 E: j. o9 j; z! x' W
18int main(void) {
% e' J, g5 w$ W19 int i =
$ Z% m& J) X8 a& A/ Z: T' V; @123;
# T" ]5 j5 l' ?$ p( p; v9 ~20 string s;
% m5 m: [& K4 L21 s = int2str(i);
) ]) E h+ i$ O22
% {, b! S* k, ]: d23 cout << s << endl;
8 E+ E$ O' X- P9 \, U24}
3 } _# b* o- E [% q2 ~6 i257 q# X) ?1 [; H: Z% w1 }
26string int2str(int &i) {
6 D0 u' }$ B0 C, @1 V1 B27 string s;
, B! M m3 i7 D3 l) r28 stringstream ss(s);7 ~9 Y( r, q- o" U0 p
29 ss << i;3 U6 c, [- s& S- {# \
30# H2 F* ?7 S- ~, F6 X& M
31 return ss.str();+ c4 L3 \5 b0 G
32}* s2 A4 Y' P e) x. { j7 y- V# q
( L8 c" f" c' V9 o" \; y' o* C: q3 C3 S0 \5 Q
4.若用C++,據稱boost有更好的方法,不過我還沒有裝boost,所以無從測試 |
评分
-
查看全部评分
|