用VC编写数据库程序不可避免的会遇到_bstr_t 、CString 、CTime这几个类型之间的转换问题,令人头疼。今早上终于算是解决了CString和CTime的类型转换问题。
CTime t;
t=CTime::GetCurrentTime();
CString sur;
sur.Format("%s",t.Format("%Y-%m-%d"));
MessageBox(sur);
//long --> CString
long a ;
CString b;
b.format("%ld",a);
//double --->CString
double a;
CString b;
b.format("%f",a);
//CString--〉CTime
CString sur;
sur="2006-08-09";
COleDateTime time1;
time1.ParseDateTime(sur);
SYSTEMTIME systime;
VariantTimeToSystemTime(time1, &systime);
CTime tm(systime);
m_time=tm;
UpdateData(false);
CString和int,float之间的转换。
1。int <->CString
1) int ->CString
int n = 1;
CString str;
str.Format("%d",n);
2) CString->int
CString str = "1";
int n = atoi(str.GetBuffer(0));
2. char* 与CString
1)char*->CString
char sz[128];
CString str;
str.Format("%s",sz);
2) CString -> char*
CString str;
int nLength = str.GetLength();
char* sz = new char[nLength];
sz = str.GetBuffer(0);
3. float<->CString
1)float->CString
float f = 0.0;
CString str;
str.Format("%f",f);
2) CString->float
CString str = "0.0";
float f = atof(str.GetBuffer(0));
Format函数第一个参数是要转的那个数的类型