gpt4 book ai didi

c - 如何使用 minizip 库提取符号链接(symbolic link)

转载 作者:太空宇宙 更新时间:2023-11-04 03:38:24 26 4
gpt4 key购买 nike

有什么方法可以通过 minizip 正确提取符号链接(symbolic link)吗? OS X 上的库?

通过

提取文件时
 status = mz_zip_reader_extract_to_file(&zip_archive, i, output_path, 0);

它创建的是文本文件而不是符号链接(symbolic link)。

最佳答案

似乎 minizip 根本不处理符号链接(symbolic link)。

我找到的唯一方法就是完全靠自己。逻辑片段:

mz_zip_archive_file_stat file_stat;
mz_zip_reader_file_stat(&zip_archive, i, &file_stat);
mz_uint32 attrFs = file_stat.m_external_attr >> 16;
if ( S_ISLNK(attrFs) )
{
//read text file with link destination
mz_zip_reader_extract_to_mem(&zip_archive, i, (void*)buffer, file_stat.m_uncomp_size, 0) )
...
//create symbolic link manually
boost::filesystem::create_symlink(...);
}

在 Windows 系统的情况下,有必要基于 Unix 等效定义 S_ISLNK,因为 S_ISLNK 没有为 Windows 定义。

关于c - 如何使用 minizip 库提取符号链接(symbolic link),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30454922/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com