2012-09-27 19 views
8

मेरे पास एक सीएसटींग चर है कि मुझे एलपीसीटीस्ट्र (कॉन्स चार *) में कनवर्ट करने की आवश्यकता है। मुझे इस रूपांतरण की आवश्यकता है ताकि मैं इसे किसी फ़ंक्शन में तर्क के रूप में उपयोग कर सकूं।सीएसटींग से एलपीसीटीआरआर रूपांतरण

cstring देखो की तरह:

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

यह एक क्वेरी में शामिल है। समारोह के प्रोटोटाइप है:

int WriteBlob(LPCTSTR szSqlStat, LPCTSTR szFilePath) 

तो तुम मुझे कैसे LPCTSTR कन्वर्ट करने के लिए की एक उदाहरण दिखा सकता है? यह मामूली हो सकता है लेकिन मैं एक सी ++ शुरुआत कर रहा हूं और मुझे अभी भी इसका लटका मिल रहा है।

धन्यवाद। रूपांतरण की

+0

क्यों वहाँ बहुत हैं आप भी करने के लिए के रूप में व्याख्या कर सकते हैं WriteBlog समारोह – Riskhan

उत्तर

11

एक विधि इस तरह है:

CString str; 

str = "Hello"; 

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

को यह (LPCTSTR) (LPTSTR) sqlTemp प्रयास करें कई अलग-अलग प्रारूप (एलपीसीटीस्ट्र, सीएसटींग, चार *, स्ट्रिंग, इत्यादि ...) जो मूल रूप से वही हैं? या क्या कोई अंतर है जो मैं नहीं देख सकता हूं? – SinisterMJ

+3

गिरने वाली स्ट्रिंग एक वस्तु है ताकि आप अन्य सभी के विपरीत इसे विधियों पर कॉल कर सकें। char * मूल रूप से वर्णों की एक सरणी है। सीस्ट्रिंग भी वर्णों की एक सरणी है लेकिन वे एन्कोडिंग के आधार पर 2 बाइट्स ले सकते हैं। एलपीसीटीस्ट्रेट निरंतर स्ट्रिंग के लिए एक सूचक है, इसलिए आप इसे संशोधित नहीं कर सकते हैं। –

+0

"सीस्ट्रिंग भी वर्णों की एक सरणी है" नहीं, यह नहीं है। –

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

Reference MSDN

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^