我想参考the test application code for 7zip
在以下行(第383行):
SzArEx_GetFileNameUtf16(&db, i, temp); //Line 383, gets directory and filename
uint16 * value temp
获取文件路径的引用表达式(我假设它是一个字符串)。
我有一个const char,让它命名为filePathToCheck
,它基本上是一个文件路径名。我想要的是一种比较filePathToCheck值和临时值的方法,这样我就可以选择"我要解密的文件
我的初始实现是获取临时值的多字节值,但是这会给出一个空字符串,可以在下面的方法中找到:
WideCharToMultiByte(CP_UTF8,NULL,temp,sizeof(temp),testa /* char * */, 0, NULL, NULL);
运行测试应用程序(已处理参数)时,testa在WideCharToMultiByte函数后仍为空字符串。我是否完全走错了路,我应该以另一种方式处理?
答案 0 :(得分:1)
sizeof(temp)
返回uint *
的大小,即4或8.您想要的是temp的长度(以字符为单位),或者如果temp为null,则可以简单地传递-1封端的。
testa
最好是一个足够大的字节数组(不是字符指针!)。下一个参数不应该是0,而是sizeof(testa)
。