2015-07-15 3 views
0

Я хотел разархивировать файл с помощью командной строки winzip с помощью программирования c, и я написал следующий код, но после выполнения он показывает, что команда не могла идентифицировать внутреннюю или внешнюю командуWinZip командной строки в программировании c

#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(); 
} 
+0

Попробуйте запустить 'wzunzip' на своей командной строке, вы должны получить ту же ошибку. – moffeltje

+0

Ya У меня такая же ошибка – PrajwalBhat

+0

@moffeltje Я получаю ту же ошибку в командной строке, даже если я установил winzip в свою систему – PrajwalBhat

ответ

1

Специально в системе Windows, где новые программы не являются автоматически членами системного пути, вы должны использовать полный путь к команде.

В вашем примере, вы должны написать:

char unzip[512]="\"C:\\Program Files\\WinZip\\WZUNZIP.EXE\""; 

ПРИМЕЧАНИЯ \\ включить в строке C истинный \ и начальный и заканчивая ", чтобы заставить system вызов, чтобы увидеть путь, как один слово - спасибо @willywonka_dailyblah за то, что заметили его

+0

Показы не могут распознать внутреннюю или внешнюю команду – PrajwalBhat

+0

или мне нужно изменить переменную пути, как указано на сайте http://kb.winzip.com/kb/entry/288/ – PrajwalBhat

+0

положить двойные кавычки по пути , '\' '- потому что« Program Files »имеет пространство внутри, и это означает, что оболочка будет искать« C: \\ Program » –

 Смежные вопросы

  • Нет связанных вопросов^_^