zip_open.c中有几种情况返回ZIP_ER_NOZIP,linux下怎么用命令检查一个zip压缩包是不是会返回ZIP_ER_NOZIP
时间: 2023-08-11 13:05:25 浏览: 90
在zip_open.c中,有三种情况会返回ZIP_ER_NOZIP错误码,如上一个回答所述。
在Linux下,可以使用unzip命令检查一个zip压缩包是否为有效的zip文件。如果文件不是有效的zip文件,则unzip命令会显示错误消息。
可以使用以下命令检查zip文件:
```
unzip -t file.zip
```
其中,-t选项表示测试zip文件的完整性,file.zip是要检查的zip文件的名称。如果zip文件是有效的,unzip命令将不会显示任何错误消息。如果zip文件无效,则unzip命令会显示相关错误消息。
相关问题
linux下制作一个zip压缩包,条件是调用zip_open返回错误“ZIP_ER_NOZIP”,但是zip压缩包可以被unzip解压
您可以使用以下步骤来制作一个会导致 `zip_open` 返回错误 "ZIP_ER_NOZIP",但可以被 `unzip` 解压的 ZIP 压缩包:
1. 创建一个空文件夹,在其中放置一些文件。
2. 在终端中进入该文件夹,然后运行以下命令:
```
zip -0 -r test.zip .
```
这个命令会创建一个名为 `test.zip` 的 ZIP 压缩包,其中 `-0` 表示使用存储模式(不进行压缩),`-r` 表示递归地将文件夹中的所有文件和子文件夹添加到压缩包中,而 `.` 表示当前文件夹。
3. 现在,您可以尝试使用 `zip_open` 函数打开这个压缩包。您应该会收到 "ZIP_ER_NOZIP" 错误,因为这个压缩包没有任何文件被压缩,所以它不是一个有效的 ZIP 文件。
4. 然后,您可以使用 `unzip` 命令来解压这个压缩包:
```
unzip test.zip
```
这个命令会将所有文件和子文件夹解压到当前文件夹中。
请注意,这个压缩包不包含任何压缩的文件,因此它不是一个有效的 ZIP 文件。但是,它包含了所有原始文件,因此可以被 `unzip` 命令正确解压。
阅读全文