- CString,int,string,char*之間的轉換
- string 轉 CString
- CString.format("%s", string.c_str());
- char 轉 CString
- CString.format("%s", char*);
- char 轉 string
- string s(char *);
- string 轉 char *
- char *p = string.c_str();
- // CString轉std::string
- CString str = dlg.GetPathName();
- setlocale(LC_ALL, "chs");
- char *p = new char[256];
- wcstombs( p, str, 256 );
- m_fileName = p;
- 1,string -> CString
- CString.format("%s", string.c_str());
- 用c_str()確實比data()要好.
- 2,char -> string
- string s(char *);
- 你的只能初始化,在不是初始化的地方最好還是用assign().
- 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()
- {
- // 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就可以了。
- 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());
MFC C++/C 中的String char CString Int 之間的轉換
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.