字串之間以及與int float double轉換
1 CString 與string char*轉換
2 string 與 int 之間的相互轉換
3 int float =>字元陣列char a[]之間的相互轉換
1 CString 與string char*轉換 以及LPCTSTR LPTSTR
CString 是MFC中處理字串的
string是c++的
string(a 表示)->CString(s表示): string a;
CString s(a.c_str());
CString->string :
#include "altconv.h"
string a; CString s;
CT2A s1(s) ;
a=s1;
string->const char *
const char* ch=a.c_str();
L表示long P表示point 指標 C表示常量 T表示巨集,在編譯時確定字串時以何種不同的編碼方式 (ANSI UNICODE);STR 表示字串
LPCTSTR=const TCHAR* { 在ANSI編碼下 =const char*= LPCSTR
{ 在unicode編碼下 =const wchar*= LPCWSTR
LPTSTR =TCHAR* { 在ANSI編碼下 =char*= LPSTR
{ 在unicode編碼下 =wchar*= LPWSTR
CString與LPCTSTR 通用,因為CString過載
CString s1;LPCTSTR s2;
s1=s2;
s2=(LPCTSTR)s1;
2 string《=》 int 轉換
string s;
int t=_ttoi(s); atoi(s);
CString s;
s.Format(_T("%d"),t);
int=》string
#include<stream>
stringstream ss; int i; string str;
ss.clear();
ss << i; (不能為float,否則str為空!~)
ss >> str;
3 int float char=》char a[] 使用sprintf
char a[255];
strcpy(a,"");//或者memset(a,'\0',255);
char *s ="e:\\";
int i=0;
sprintf(a,"%s%d%s",s,i,".jpg");