我开发了一个小的 bmp 到 jpg 转换器。以下代码正在工作并提供我需要的准确结果
BOOLEAN convertBMPtoJPG(const WCHAR *src_bmp_path,const WCHAR *dest_jpeg_path);
然后调用函数,
const WCHAR *src_bmp_path = L"test.bmp";
const WCHAR *dest_jpeg_path= L"test.jpg";
convertBMPtoJPG(src_bmp_path,dest_jpeg_path);
但是,我需要将函数更改如下(根据我给出的要求),但这样做会导致编译错误。
BOOLEAN convertBMPtoJPG(char *src_bmp_path,char *dest_jpeg_path);
然后函数将被称为,(尽管我只需要遵循上面的原型),
char *src_bmp_path = "test.bmp";
char *dest_jpeg_path= "test.jpg";
convertBMPtoJPG(src_bmp_path,dest_jpeg_path);
关于 stackover 的另一个问题提供了太多关于 Win32 类型的信息,但是我还不能解决这个问题。我在 Win32 API 方面不是很好,请指导我在以后的方法中出了什么问题。
编辑:
错误消息: 错误 C2664:'Gdiplus::Status Gdiplus::Image::Save(const WCHAR *,const CLSID *,const Gdiplus::EncoderParameters *)':无法将参数 1 从 'char *' 转换为 'const WCHAR * ' 1> 指向的类型是不相关的;转换需要 reinterpret_cast、C-style cast 或 function-style cast