我有一些旧的C++文件,我知道这些文件是用来编译的。我已经创建了Visual C++版本6的新安装。
关于无法转换到const *,我在CStrings中遇到了很多编译错误。
下面是一个例子。
CString dogs = "test";
writeoutfile(dogs, 1);
void Crender::writeoutfile(CString data, long data_size) {}我知道这个错误:
错误C2664:'void *,long):‘void*,C2664’:无法将参数1从“CString类”转换为“const*”。
有什么办法能让我避开这件事吗?
发布于 2015-08-18 15:11:14
您必须获得char字段的原始指针。这件事可以用
CString::GetBuffer()这样你就可以打电话
writeoutfile(dogs.GetBuffer(), 1);发布于 2015-08-19 16:34:24
CString应该转换为const *。它是Unicode构建的吗?这是我唯一能想到的解释。
GetBuffer()用于获取指向CString中包含的数据的可写指针。别干那事!
https://stackoverflow.com/questions/32076105
复制相似问题