字符串處理是VC編程中非常重要的一部分,在實(shí)際項(xiàng)目中字符串之間的類型轉(zhuǎn)換很繁瑣。 本文收集了目前使用最多的字符串與字符串、字符串與數(shù)值類型之間的轉(zhuǎn)換方法,主要包括CString、int、string、char*相互轉(zhuǎn)換,總結(jié)如下。 一、字符類型之間的相互轉(zhuǎn)換: 1 .從字符串到字符串 cstring.format('%s ',string.c_str ) ); 確實(shí)比c_str (中的data ) )好。 2 .遷移到2.char*cstring ctring.format('%s ',char*; 3 .將3.char*轉(zhuǎn)到字符串 字符串(char *; 只能初始化。 在不是初始化的地方最好使用assign ()。 4 .從字符串到char * char *p=string.c_str (; 5 .從字符串到字符串 strings(cstring.getbuffer ) ); 請(qǐng)務(wù)必在GetBuffer () ()之后加上ReleaseBuffer ) )。 否則,沒(méi)有空間釋放緩沖區(qū)。 6.CString互轉(zhuǎn)char* //char * TO cstring CString strtest; char * charpoint; charpoint='give string a value '; strtest=charpoint; ///cstring TO char * char point=strtest.getbuffer (strtest.getlength (); c語(yǔ)言沒(méi)有string類型,char *==char []==string 可以使用以下方法將char *轉(zhuǎn)換為CString.format('%s”,char * ) : 要將CString轉(zhuǎn)換為char *,只需通過(guò)操作員(LPCSTR )進(jìn)行CString即可。 7.CString轉(zhuǎn)換char[100] char a[100]; ctringstr(aaaaaa ); strncpy(a,) LPCTSTR ) str,sizeof(a ) a ); 8 .字符串到char*的轉(zhuǎn)換* string.c_str ()只能轉(zhuǎn)換為const char *。 轉(zhuǎn)換為char *寫(xiě)為: 字符串mng name; char t[200]; 短信(t,0,200 ); strcpy(t,mngName.c_str ) ); 二、文字類型和數(shù)值類型轉(zhuǎn)換: 在多節(jié)字符模式下,可以將字符類型char*轉(zhuǎn)換為數(shù)字類型,并使用atoi、_atoi64、atof和atol。 在寬字符模式下,如果需要將字符類型wchar_t*轉(zhuǎn)換為數(shù)字類型,并在允許使用_wtoi、_wtoi64、_wtof和_wtof的寬字符(Unicode )模式下進(jìn)行轉(zhuǎn)換,則為http:// 1 .將數(shù)值類型轉(zhuǎn)換為CString類型: 可以使用CString的格式函數(shù)。 例如: ct2=clock (; CString s; int i=64; s.format('%d ',I ) ) )。 Format函數(shù)功能很強(qiáng),值得研究一下。 void CStrDlg:OnButton1() { //todo : addyourcontrolnotificationhandlercodehere CString ss='1212.12 '; 英特爾=凌動(dòng)(SS; CString aa; a .格式(' % d ',temp ); afxmessagebox(varis ) aa; } 如果使用char數(shù)組,也可以使用sprintf函數(shù)。 數(shù)字-字符串除了cstring :3360格式外,還有不使用FormatV、sprintf和Afx的itoa 2 .將字符串、字符串類型轉(zhuǎn)換為數(shù)字類型 將字符類型轉(zhuǎn)換為數(shù)值類型的API函數(shù): atoi、_atoi64或atol等。 因?yàn)槠骄堤峁┑絚har*的轉(zhuǎn)換,所以對(duì)于CString,可以首先通過(guò)CString:GetBuffer函數(shù)返回對(duì)應(yīng)的char*,或者強(qiáng)制轉(zhuǎn)換為L(zhǎng)PCSTR,string 12 【投稿0條評(píng)論】 |
|
來(lái)自: dbn9981 > 《我的學(xué)習(xí)》