程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> CString,字符串,整數等互相轉換辦法(推舉)

CString,字符串,整數等互相轉換辦法(推舉)

日期:2017/7/27 20:05:59      編輯:關於C++

CString,字符串,整數等互相轉換辦法(推舉)。本站提示廣大學習愛好者:(CString,字符串,整數等互相轉換辦法(推舉))文章只能為提供參考,不一定能成為您想要的結果。以下是CString,字符串,整數等互相轉換辦法(推舉)正文


字符串轉int

int atoi(const char *string);
_int64 _atoi64(const char *string);
int _wtoi(const wchar_t *string);
_int64 _ wtoi64(const char *string);

字符串轉long

long atol(const char * string);
long _wtol(const wchar_t *string);

字符串轉double

double atof(const char *string);
double _wtof(const wchar_t *string);

int轉字符串

cahr *_itoa( int value,char *string,int radix);
char *_i64toa(_int64 value,char *string,int radix);
char * _ui64toa(unsigned _int64 value,char *string, int radix);
wchar_t * _itow(int value,wchar_t *string, int radix);
wchar_t * _i64tow(_int64 value,wchar_t *string, int radix);
wchar_t * _ui64tow(unsigned _int64 value,wchar_t *string, int radix);

參數的意義:value 是指要轉換的整數,sring 是用來寄存轉換後成果的方便,radix是用來講明轉換成幾進制的數據,默許值是十進制數的。轉換的進制規模是二進制到三十六進制。

long轉字符串

char *_ltoa( long value,char *string, int radix );
wchar_t *_ltow( long value, wchar_t *string, int radix );

個中,參數 value 為被轉換的值,參數string為字符串緩沖區,radix為進制。

double轉字符串

char *_fcvt( double value, int count, int *dec, int *sign );

個中參數value 為雙精度數,參數count為轉換的小數點前面的位數,dec表現小數點的地位, sign 表現符號。

(1) char*轉換成CString

若將char*轉換成CString,除直接賦值外,還可以使用CString::Format停止。例如:

char chArray[] = "Char test";
TCHAR * p = _T("Char test");( 或LPTSTR p = _T("Char test");)
CString theString = chArray;
theString.Format(_T("%s"), chArray);
theString = p;

(2) CString轉換成char*

若將CString類轉換成char*(LPSTR)類型,經常應用以下三種辦法:

辦法一,應用強迫轉換。例如:

CString theString( (_T("Char test "));
LPTSTR lpsz =(LPTSTR)(LPCTSTR)theString;

辦法二,應用strcpy。例如:

CString theString( (_T("Char test "));
LPTSTR lpsz = new TCHAR[theString.GetLength()+1];
_tcscpy(lpsz, theString);

須要解釋的是,strcpy(或可移值的_tcscpy)的第二個參數是 const wchar_t* (Unicode)或const char* (ANSI),體系編譯器將會主動對其停止轉換。

辦法三,應用CString::GetBuffer。

假如你須要修正 CString 中的內容,它有一個特別的辦法可使用,那就是 GetBuffer,它的感化是前往一個可寫的緩沖指針。 假如你只是盤算修正字符或許截短字符串,例如:

CString s(_T("Char test "));
LPTSTR p = s.GetBuffer(); 
LPTSTR dot = strchr(p, ''.'');
// 在這裡添加應用p的代碼
if(p != NULL) 

*p = _T('');
s.ReleaseBuffer();// 應用完後實時釋放,以便能應用其它的CString成員函數

在 GetBuffer 和 ReleaseBuffer 之間這個規模,必定不克不及應用你要操作的這個緩沖的 CString 對象的任何辦法。由於 ReleaseBuffer 被挪用之前,該 CString 對象的完全性得不到保證。

以上就是小編為年夜家帶來的CString,字符串,整數等互相轉換辦法(推舉)的全體內容了,願望對年夜家有所贊助,多多支撐~

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved