2012-09-27 21 views
8

LPCTSTR (const char *) 'a dönüştürmek için ihtiyacım olan bir CString değişkenim var. Bu dönüştürüme ihtiyacım var, böylece bir işlevi argüman olarak kullanabilirim. Bu bir sorgu içeriyorLPCTSTR dönüşümü için CString

CString sqlTemp = _T("INSERT INTO "+ sw1 +" (filename, "+ sw2 +") VALUE ("+ sw7 +","+ sw3 +") "); 

: gibi

CString bakış. fonksiyonun prototipidir:

int WriteBlob(LPCTSTR szSqlStat, LPCTSTR szFilePath) 

Yani bana LPCTSTR için dönüştürmek için nasıl bir EXEMPLE gösterebilirim? Bu önemsiz olabilir ama ben C++ acemi ve hala bir asmak.

Teşekkürler. dönüşüm

+0

yüzden orada neden de olarak açıklayabilir WriteBlog fonksiyonu – Riskhan

cevap

11

bir yöntem şu şekildedir:

CString str; 

str = "Hello"; 

LPCSTR szTemp = (LPCSTR)(LPCTSTR)str; 
+1

bu (LPCTSTR) (LPTSTR) sqlTemp deneyin Temelde aynı olan birçok farklı format (LPCTSTR, CString, char *, string, vb ...)? Yoksa göremediğim bir fark var mı? – SinisterMJ

+3

dize bir nesnedir, böylece diğerlerine benzemeyen yöntemleri çağırırsınız. char * temel olarak bir dizi karakterdir. Cstring ayrıca bir dizi karakterdir, ancak kodlamaya bağlı olarak 2 bayt alabilirler. LPCTSTR sabit bir dizgenin göstericisidir, bu yüzden değiştiremezsiniz. –

+0

"Cstring ayrıca bir dizi chars" hayır, değil. –

0
CString str; // the given string 
CStringA strA(str); // a helper string 
LPCSTR ptr = strA; 

Reference MSDN