在VS2008环境下,使用unicode,有什么办法可以将CString转换为LPVOID形式吗?
试过(LPVOID)(LPCTSTR)str,这样在ASCII下没问题,但是在unicode环境下好像失去了效果,
unicode环境下,str.GetBuffer()好像也失去了作用,
试过(LPVOID)(LPCTSTR)str,这样在ASCII下没问题,但是在unicode环境下好像失去了效果,
unicode环境下,str.GetBuffer()好像也失去了作用,
GetBuffer为什么会失效??
其实还是昨天那个问题,
利用CInternetSession创建POST,需要向其中传递数据,CString BB;
pFile -> SendRequest(NULL,0,BB.GetBuffer(),BB.GetLength());
这样发送的并不是正确的数据啊。 中间的第三个参数数据应该怎么从uncode下的CString转换为LPVOID呢?
pFile -> SendRequest(NULL,0,BB.GetBuffer(),strlen(BB.GetBuffer()));
那为什么发出去的数据只是拿到了第一个字符啊?
比如CString BB=L"title=12345",
pFile -> SendRequest(NULL, 0, (LPTSTR)(LPCTSTR)strPostDate, strPostDate.GetLength());
这样发送之后转包结果只是发送的数据为t,其他没有了
即用W2A宏将CString里面的内容存放到char里面在发送 无他法