我正在使用this页面中的代码段,介绍如何创建zip文件以及将目录添加到该zip文件中。我在Windows 7上运行以下内容,但它似乎根本没有创建zip文件。
BSTR bstrFolderOutName = L"C:\\Test\\Archive.zip";
BYTE startBuffer[] = {80, 75, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
FILE *f = _wfopen(bstrFolderOutName, L"wb");
fwrite(startBuffer,sizeof(startBuffer),1,f);
fclose(f);
答案 0 :(得分:1)
声明的问题,即没有创建文件,无法用给出的信息回答。这很可能是由于文件路径无效。但是,OP在评论中声明他的示例中的路径不是真正的代码。
编辑:我刚才引用的hex string example错误,我刚刚测试过。
此代码有效:
#include <stdio.h>
auto main() -> int
{
FILE* f = fopen("foo.zip", "wb");
//fwrite( "\x80\x75\x05\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 22, 1, f );
fwrite( "\x50\x4B\x05\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 22, 1, f );
fclose(f);
}
Harumph,人们甚至不能信任Stack Overflow评论。更不用说接受的答案了。
原始文字:
假设OP现在编辑了代码,以便下面的部分是真实代码,那么这个常量
{80, 75, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
与
不同"\x80\x75\x05\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
OP能否发现相关的差异?
此外,鉴于此,OP能否推断出有关其信息来源的任何内容?
我来自a comment elsewhere的例子。