Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/164.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Windows XP/Windows 7中使用CAB文件压缩/解压缩单个文件? 我想压缩或解压缩我的C++应用程序中的一个文件,而不使用外部库。我读到过,Cabinet文件可以用来做这件事,但我找不到任何有用的例子_C++_Winapi_Cab - Fatal编程技术网

如何在Windows XP/Windows 7中使用CAB文件压缩/解压缩单个文件? 我想压缩或解压缩我的C++应用程序中的一个文件,而不使用外部库。我读到过,Cabinet文件可以用来做这件事,但我找不到任何有用的例子

如何在Windows XP/Windows 7中使用CAB文件压缩/解压缩单个文件? 我想压缩或解压缩我的C++应用程序中的一个文件,而不使用外部库。我读到过,Cabinet文件可以用来做这件事,但我找不到任何有用的例子,c++,winapi,cab,C++,Winapi,Cab,我甚至不确定CAB文件是否仍然可以在现代Windows版本中使用,是否有人可以提供一个简单的例子来这样做。它们仍然可以工作(至少是Windows 2000-Windows 10) 请参阅或的示例 回调的示例实现在其各自的页面上提供。例:和。请参阅。CAB文件仍然受支持,因为没有替代品可以压缩内置在Windows中的文件(或者至少作为API公开)。不确定为什么不想使用zlib作为示例。库有什么问题?@David Heffernan我的意思是,如果Windows API提供了此功能,那么我为什么要使

我甚至不确定CAB文件是否仍然可以在现代Windows版本中使用,是否有人可以提供一个简单的例子来这样做。

它们仍然可以工作(至少是Windows 2000-Windows 10)

请参阅或的示例


回调的示例实现在其各自的页面上提供。例:和。

请参阅。CAB文件仍然受支持,因为没有替代品可以压缩内置在Windows中的文件(或者至少作为API公开)。不确定为什么不想使用zlib作为示例。库有什么问题?@David Heffernan我的意思是,如果Windows API提供了此功能,那么我为什么要使用库。为了变得更好compression@David赫弗南说得好!但是在我的例子中,我只想要一个“普通”的压缩(使用WinZip/WinRAR的默认设置得到的压缩),我已经读过CAB文件提供的压缩。我应该为CAB文件安装一个单独的SDK吗?因为找不到示例中使用的某些头文件。我使用Visual C++ +2010.NO。只需
fdi.h
。您确实需要自己实现回调,因为这些回调看起来没有包含在示例中,但它们大部分都是琐碎的。我添加了答案的链接。不过,文档中缺少的是调用约定。Cabinet API使用
\uu cdecl
。因此,作为一种快捷方式,您可以将
free
malloc
直接传递到
FCICreate
,而不是实现您自己的包装器。