c 中數字與字串之間的轉換方法

2022-03-04 04:13:33 字數 2697 閱讀 2040

(1)string --> char *

string str("ok"

);

char * p =str.c_str();

(2)char * -->string

char *p = "ok"

; string

str(p);

(3)char * -->cstring

char *p ="ok"

; cstring m_str(p);

//或者cstring m_str;

m_str.format("%s

",p);

(4)cstring --> char *cstring str("ok

");char * p = str.getbuffer(0

); ...

str.releasebuffer();

(5)string -->cstring

cstring.format("%s

", string

.c_str());

(6)cstring --> string

string s(cstring.getbuffer(0

));

getbuffer()後一定要releasebuffer(),否則就沒有釋放緩衝區所佔的空間,cstring物件不能動態增長了。

(7)double/float->cstring

double

data;

cstring.format(

"%.2f

",data); //

保留2位小數

(8)cstring->double

cstring s="

123.12";

double d=atof(s); (

9)string->double

double d=atof(s.c_str());

char str[10

];int a=1234321

;sprintf(str,"%d

",a);

--------------------

char str[10

];double a=123.321

;sprintf(str,

"%.3lf

",a);

--------------------

char str[10

];int a=175

;sprintf(str,"%x

",a);//

10進製轉換成16進製制,如果輸出大寫的字母是sprintf(str,"%x",a)

--------------------

char *itoa(int value, char* string, int radix);

char str="

1234321";

inta;

sscanf(str,"%d

",&a);

.............

char str="

123.321";

double

a;sscanf(str,

"%lf

",&a);

.............

char str="af"

;int

a;sscanf(str,"%x

",&a); //

16進製制轉換成10進製

另外也可以使用atoi(),atol(),atof().

用ostringstream物件寫乙個字串,類似於sprintf()

ostringstream s1;

int i = 22

; s1

<< "

hello

"<< i

cout

<< s2;

用istringstream物件讀乙個字串,類似於sscanf()

istringstream stream1;

string string1 = "25"

; stream1.str(string1);

inti; stream1 >>i;

cout

<< i << endl; //

displays 25

int a = 10

;char *intstr =itoa(a);

printf(

"%s\n

",intstr);

char* 轉為string 直接用 string s= string(intstr) ; 就可以轉換。

(注:使用stringstream要包含#include 標頭檔案)

int a = 10

;stringstream ss;

ss

不但可以轉換10進製整形資料,還可以是16進製制的。

#include

#include

int value=10

;std::

string s =std::to_string(value) ;

std::cout

std::cout

<0xfa11);

C 中數字與字串之間的轉換

1 字串數字之間的轉換 1 string char string str ok char p str.c str 2 char string char p ok string str p 3 char cstring char p ok cstring m str p 或者 cstring m st...

C 中數字與字串之間的轉換

1 string char string str ok char p str.c str 2 char string char p ok string str p 3 char cstring char p ok cstring m str p 或者 cstring m str m str.form...

C 中數字與字串之間的轉換

1 字串數字之間的轉換 1 string char string str ok char p str.c str 2 char string char p ok string str p 3 char cstring char p ok cstring m str p 或者 cstring m st...