CString到LPCTSTR的转换

Ion*_*iel 10 c++ type-conversion cstring

我有一个CString变量,我需要转换为LPCTSTR(const char*).我需要这个转换,以便我可以将它用作函数中的参数.

CString看起来像:

CString sqlTemp = _T("INSERT INTO "+ sw1 +" (filename, "+ sw2 +") VALUE ("+ sw7 +","+ sw3 +" ) ");
Run Code Online (Sandbox Code Playgroud)

它包含一个查询.该函数的原型是:

int WriteBlob(LPCTSTR szSqlStat, LPCTSTR szFilePath)
Run Code Online (Sandbox Code Playgroud)

那么你能告诉我一个如何转换为LPCTSTR的例子吗?它可能是微不足道的,但我是一个c ++初学者,我仍然掌握它.

谢谢 .

Ion*_*lub 12

一种转换方法是这样的:

CString str;

str = "Hello";

LPCSTR szTemp = (LPCSTR)(LPCTSTR)str;
Run Code Online (Sandbox Code Playgroud)

  • fall string是一个对象,所以你可以调用它上面的方法,这与其他方法不同.char*基本上是一组字符.Cstring也是一个字符数组,但它们可以占用2个字节,具体取决于编码.LPCTSTR是一个指向常量字符串的指针,因此您无法修改它. (4认同)
  • 您能否也解释一下为什么有这么多不同的格式(LPCTSTR,CString,char *,string等)基本上都相同?还是我看不到有什么区别? (2认同)
  • “ Cstring 也是一个字符数组” 不,它不是。 (2认同)