我正在寻找一个直截了当的答案。网上似乎没有一个。也许是因为它不可能。你究竟如何将CString转换为LPCVOID?我还没有尝试过,因为没有关于在网上做什么的建议....如果这不可能有一种方法将CString转换为char * ??为此,我尝试了网上建议的一切,没有任何作用。
例如:
CString s("1000");
CStringA str(s);
char* something = (LPSTR)(LPCSTR)str;
我认为这种方法中没有一种能够起作用。请帮忙。
感谢你。
答案 0 :(得分:1)
被问到的问题没有任何意义。找出调用者真正想要的东西 - LPCVOID只是一种指针类型,意味着"指向任何东西"。实际调用的函数希望指针指向某种格式的数据。
调用者必须以被调用者期望的格式提供数据;你必须编写代码才能做到这一点,但首先你必须阅读被调用者的文档,因为如果你不知道它的期望,你怎么能传递这些数据?
CString是某种非标准C ++类(可能是某些Microsoft发明),因此您需要阅读其文档以了解如何提取您需要提取的任何数据。我非常肯定铸造不会做任何有用的事情。