VS2013 中 CString类型转换为LPCSTR类型

Posted 玩命

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VS2013 中 CString类型转换为LPCSTR类型相关的知识,希望对你有一定的参考价值。

    HWND hWnd = ::FindWindow(NULL, L"XXXXXXX");
	if (hWnd != NULL)
	{
		DWORD dwReadBytes;
		unsigned char *lpbuffer = (unsigned char *)malloc(10 * 1024 * 1024);;
		
		USES_CONVERSION;
		LPCSTR path = (LPCSTR)T2A(m_strDescPath); //m_strDescPath为一edit组件的成员变量

		HFILE splhandle = _lopen(path, 0);
		dwReadBytes = _lread(splhandle, lpbuffer, 10 * 1024 * 1024);

		COPYDATASTRUCT cpd; /*给COPYDATASTRUCT结构赋值*/
							//cpd.dwData = 1;                                                                                                         //标志发送字符串
							//cpd.cbData = strlen("字符串")+1;
							//cpd.lpData = "字符串";
							//::SendMessage(hWnd,WM_COPYDATA,NULL,(LPARAM)&cpd);//发送!

		cpd.dwData = 1; //标志发送CString类型
		cpd.cbData = dwReadBytes;
		cpd.lpData = lpbuffer;
		::SendMessage(hWnd, WM_COPYDATA, NULL, (LPARAM)&cpd); //发送!
	}

  

以上是关于VS2013 中 CString类型转换为LPCSTR类型的主要内容,如果未能解决你的问题,请参考以下文章

怎样让vs2013不进行强制类型转换

VS 2012 中的条件运算符类型转换

VS2008 C++中 inet_addr()函数用法。 inet_addr: 不能将参数 1 从“CString”转换为“const char *”

CString转换为const char*

无法从 char 构造 CString

MFC中如何吧CString类型转换为double或int型??