我正在尝试将std::string Buffer -包含位图文件中的数据-转换为std::wstring。
我使用的是MultiByteToWideChar,但这不起作用,因为该函数在遇到第一个'\0'-character后停止。似乎它将其解释为字符串的末尾。
当我没有传递-1作为length -参数,而是std::string-Buffer中数据的实际长度时,它会将Unicode-String弄乱,其中的字符肯定不会出现在原始字符串中的那个位置……
我必须编写自己的转换函数吗?或者,我是否应该将数据保留为临时字符数组,因为特殊符号将被错误地转换?
关于问候
发布于 2012-08-24 05:52:51
使用这种方法会有很多,,的事情会失败。其中,额外的字节可能会被添加到您的数据中,而您并没有意识到这一点。
奇怪的是,你唯一的选择是std::wstring()。如果这是一个自己开发的库,你应该花点功夫去写一个新函数。如果不是,那么在编写你自己的代码之前,确保没有更合适的东西。
https://stackoverflow.com/questions/12100283
复制相似问题