gpt4 book ai didi

C 程序获取jar文件的版本

转载 作者:行者123 更新时间:2023-11-30 20:52:57 27 4
gpt4 key购买 nike

用于获取jar文件的文件版本的c程序代码,我们需要与某些版本进行比较并向用户显示,我们知道这在java中很容易,但我们只想要c语言

最佳答案

使用popen执行unzip -p my.jar META-INF/MANIFEST.MF | grep 'Bundle-Version' 并获取结果

示例:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char ** argv)
{
if (argc != 2)
printf("Usage : %s <jarfile>\n", *argv);
else {
size_t len = strlen(argv[1]) + 56;
char * s = malloc(len);
FILE * fp;

sprintf(s, "unzip -p %s META-INF/MANIFEST.MF | grep 'Bundle-Version'",
argv[1]);
if ((fp = popen(s, "r")) == NULL)
fprintf(stderr, "error when executing '%s'\n", s);
else {
if (fscanf(fp, "Bundle-Version: %50s", s) == 1)
printf("version '%s'\n", s);
else
fprintf(stderr, "cannot get the version\n");
pclose(fp);
}

free(s);
}
}

编译和执行:

/tmp % gcc -pedantic -Wall -Wextra p.c
/tmp % ./a.out my.jar
version '1.5'

关于C 程序获取jar文件的版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55416494/

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