В качестве параметра программам надо
exit(-1); }
int getpw( char *buf, int size) {
int i; char ch;
for(i=0; i<size; ) { ch = getch(); if(ch == 0) ch=getch(); putch('.'); *buf = ch; if(*buf == 0xd) break; i++; buf++;
} *buf = 0; }
Программа дешифрования:
#include <stdio.h> #include <conio.h> #include <process.h>
void main(int argc, char *argv[]) { char passw[80], filebuf[80], parms[100], ch;
_searchenv( "pkunzip.exe", "PATH", filebuf ); if(!(*filebuf) ) { printf("PKUNZIP not found.\n"); exit(-2); }
printf( "Enter password: " ); getpw(passw, 80); sprintf(parms,"-s%s %s",passw,argv[1]); execl( filebuf, parms, parms, NULL );
exit(-1); }
int getpw( char *buf, int size) {
int i; char ch;
for(i=0; i<size; ) { ch = getch(); if(ch == 0) ch=getch(); putch('.'); *buf = ch; if(*buf == 0xd) break; i++; buf++;
} *buf = 0;
}
В качестве параметра программам надо задать имя образуемого архива (можно без расширения). Если это имя не указывать, используется имя (NULL)
- на эту строку указывает неинициализированный параметр argv[1].