1. 程式人生 > >字串之間以及與int float double轉換

字串之間以及與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");