CString與int、char*、char[100]、string之間的轉換(2006-10-11)

CString互轉int
將字符轉換爲整數,可以使用atoi、_atoi64或atol。 
而將數字轉換爲CString變量,可以使用CString的Format函數。如 
CString s; 
int i = 64; 
s.Format("%d", i) 
Format函數的功能很強,值得研究一下。
void CStrDlg::OnButton1()

// TODO: Add your control notification handler code here 
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就可以了。LPCSTR與CString間通用,無需轉換。

CString轉換 char[100]
char a[100]; 
CString str("aaaaaa"); 
strncpy(a,(LPCTSTR)str,sizeof(a)); 

 CString互轉 string
CString cstr="dfdfd";
string str="dfdfd";
str=cstr.GetBuffer(0); //CString ->   string  
cstr=str.c_str(); //string->CString  
或:
  str   =   cstr.data();     //CString ->   string  
  cstr   =   LPCSTR(str); //string->CString  

發佈了32 篇原創文章 · 獲贊 0 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章