我想使用c编程使用winzip命令行解压缩文件,并且编写了以下代码,但是执行后显示系统命令无法识别内部或外部命令
#include <stdio.h>
#include <stdlib.h>
#include<conio.h>
#include <string.h>
void fmuUnzip() {
char fmuFileName[100], path[100],strFinal[100];
char unzip[512]="wzunzip";
printf("Enter fmuFileName\n");
gets(fmuFileName);
printf("Enter path of the fmuFileName\n");
gets(path);
strcat(unzip," ");
strcat(unzip,fmuFileName);
strcat(unzip," ");
strcat(unzip,path);
//printf("The string is : %s",unzip);
system(unzip);
//getch();
}
void fmuLoad() {
fmuUnzip();
}
int main(int argc,char* argv[]) {
fmuLoad();
}
最佳答案
尤其是在Windows系统中,新程序并非自动成为系统路径的成员,因此应使用命令的完整路径。
在您的示例中,您应该编写:
char unzip[512]="\"C:\\Program Files\\WinZip\\WZUNZIP.EXE\"";
请注意
\\
在C字符串中包含真实的\
,而开头和结尾的"
强制system
调用将路径视为一个单词-感谢@willywonka_dailyblah注意到了它关于c - C编程中的Winzip命令行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31425341/