CString,int,string,char*之間的相互轉換

string 轉 CString   數組

CString.format("%s", string.c_str());

char 轉 CString   函數

CString.format("%s", char*);

char 轉 string   spa

string s(char *);

string 轉 char *   code

char *p = string.c_str();

CString 轉 string   orm

string s(CString.GetBuffer());

1,string -> CString   字符串

CString.format("%s", string.c_str());

用c_str()確實比data()要好.   string

2,char -> string   it

string s(char *);   table

你的只能初始化,在不是初始化的地方最好仍是用assign().   form

3,CString -> string  

string s(CString.GetBuffer());  

GetBuffer()後必定要ReleaseBuffer(),不然就沒有釋放緩衝區所佔的空間.  

 

《C++標準函數庫》中說的  

有三個函數能夠將字符串的內容轉換爲字符數組和C—string  

1.data(),返回沒有」\0「的字符串數組  

2,c_str(),返回有」\0「的字符串數組  

3,copy()  

 

CString互轉int  

將字符轉換爲整數,可使用atoi、_atoi64或atol。  

而將數字轉換爲CString變量,可使用CString的Format函數。如  

CString s; 
int i = 64; 
s.Format("%d", i)

Format函數的功能很強,值得你研究一下。  

void CStrDlg::OnButton1()  
{  
CString  
ss="1212.12";  
int temp=atoi(ss);  
CString aa;  
aa.Format("%d",temp);  
AfxMessageBox("var is " + aa);  
}  
sart.Format("%s",buf);

CString互轉char*  

///char * TO cstring  

CString strtest;  
char * charpoint;  
charpoint="give string a value";  
strtest=charpoint;

///cstring TO char *  

charpoint=strtest.GetBuffer(strtest.GetLength());  

標準C裏沒有string,char *==char []==string  

能夠用CString.Format("%s",char *)這個方法來將char *轉成CString。要把CString轉成char *,用操做符(LPCSTR)CString就能夠了。  

 

CString轉換 char[100]  

char a[100];  

CString str("aaaaaa");  

strncpy(a,(LPCTSTR)str,sizeof(a));  

2 CString類型的轉換成int  

CString類型的轉換成int  

將字符轉換爲整數,可使用atoi、_atoi64或atol。  

//CString aaa = "16" ; 

//int int_chage = atoi((lpcstr)aaa) ;  

 

而將數字轉換爲CString變量,可使用CString的Format函數。如  

CString s;  

int i = 64;  

s.Format("%d", i)  

Format函數的功能很強,值得你研究一下。  

若是是使用char數組,也可使用sprintf函數。

//CString ss="1212.12";  

//int temp=atoi(ss);  

//CString aa;  

//aa.Format("%d",temp);  

 

數字->字符串除了用CString::Format,還有FormatV、sprintf和不須要藉助於Afx的itoa  

 

3 char* 在裝int  

#include <stdlib.h> 

  

int atoi(const char *nptr); 

long atol(const char *nptr); 

long long atoll(const char *nptr); 

long long atoq(const char *nptr);  

 

4 CString,int,string,char*之間的轉換  

string aa("aaa"); 

char *c=aa.c_str();

 

cannot convert from 'const char *' to 'char *' 

const char *c=aa.c_str();  

 

5 CString,int,string,char*之間的轉換  

string.c_str()只能轉換成const char *, 

要轉成char *這樣寫:

string mngName; 

char t[200]; memset(t,0,200); strcpy(t,mngName.c_str());  

相關文章
相關標籤/搜索