c++中數(shù)字與字符串之間的轉(zhuǎn)換方法(推薦)
1、字符串?dāng)?shù)字之間的轉(zhuǎn)換
(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(),否則就沒(méi)有釋放緩沖區(qū)所占的空間,CString對(duì)象不能動(dòng)態(tài)增長(zhǎng)了。 (7)double/float->CString double data; CString.Format("%.2f",data); //保留2位小數(shù) (8)CString->double CString s="123.12"; double d=atof(s); (9)string->double double d=atof(s.c_str());
2、數(shù)字轉(zhuǎn)字符串:使用sprintf()函數(shù)
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進(jìn)制轉(zhuǎn)換成16進(jìn)制,如果輸出大寫(xiě)的字母是sprintf(str,"%X",a) -------------------- char *itoa(int value, char* string, int radix);
同樣也可以將數(shù)字轉(zhuǎn)字符串,不過(guò)itoa()這個(gè)函數(shù)是平臺(tái)相關(guān)的(不是標(biāo)準(zhǔn)里的),故在這里不推薦使用這個(gè)函數(shù)。
3、字符串轉(zhuǎn)數(shù)字:使用sscanf()函數(shù)
char str[]="1234321"; int a; sscanf(str,"%d",&a); ............. char str[]="123.321"; double a; sscanf(str,"%lf",&a); ............. char str[]="AF"; int a; sscanf(str,"%x",&a); //16進(jìn)制轉(zhuǎn)換成10進(jìn)制
另外也可以使用atoi(),atol(),atof().
4、使用stringstream類(lèi)
用ostringstream對(duì)象寫(xiě)一個(gè)字符串,類(lèi)似于sprintf()
ostringstream s1; int i = 22; s1 << "Hello " << i << endl; string s2 = s1.str(); cout << s2;
用istringstream對(duì)象讀一個(gè)字符串,類(lèi)似于sscanf()
istringstream stream1; string string1 = "25"; stream1.str(string1); int i; stream1 >> i; cout << i << endl; // displays 25
以上就是小編為大家?guī)?lái)的c++中數(shù)字與字符串之間的轉(zhuǎn)換方法(推薦)的全部?jī)?nèi)容了,希望對(duì)大家有所幫助,多多支持腳本之家~
相關(guān)文章
在C++中高效使用和處理Json格式數(shù)據(jù)的示例代碼
最近的項(xiàng)目在用c處理后臺(tái)的數(shù)據(jù)時(shí),因?yàn)楹枚嗤獠拷涌诙荚谑褂肑son格式作為返回的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)描述,如何在c中高效使用和處理Json格式的數(shù)據(jù)就成為了必須要解決的問(wèn)題,需要的朋友可以參考下2023-11-11C++ 中實(shí)現(xiàn)把EXCEL的數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫(kù)(ACCESS、MSSQL等)實(shí)例代碼
這篇文章主要介紹了C++ 中實(shí)現(xiàn)把EXCEL的數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫(kù)(ACCESS、MSSQL等)實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-04-04C語(yǔ)言實(shí)現(xiàn)學(xué)生宿舍信息管理系統(tǒng)課程設(shè)計(jì)
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)學(xué)生宿舍信息管理系統(tǒng)課程設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03基于QT設(shè)計(jì)一個(gè)春聯(lián)自動(dòng)生成器
春節(jié)是中國(guó)最隆重的傳統(tǒng)節(jié)日,一到過(guò)年家家戶(hù)戶(hù)肯定是要貼春聯(lián);在春節(jié)前夕,會(huì)用大紅紙張,加上濃墨書(shū)寫(xiě)祝福詞語(yǔ)。本文將利用Qt框架設(shè)計(jì)一個(gè)春聯(lián)自動(dòng)生成器,需要的可以參考一下2022-01-01c語(yǔ)言實(shí)現(xiàn)的貨物管理系統(tǒng)實(shí)例代碼(增加刪除 查找貨物信息等功能)
這篇文章主要介紹了c語(yǔ)言實(shí)現(xiàn)的貨物管理系統(tǒng),可增加刪除、查找貨物信息、顯示貨物信息、排序貨物銷(xiāo)量等操作,大家參考使用吧2013-11-11