Аргументы int argc, char* argv[]

Рейтинг: 1Ответов: 2Опубликовано: 08.12.2014
void main (int argc, char* argv[])  {    
FILE *inf, *outf;  
if (argv[1][0] == 'e'){  
    inf = fopen (argv[2], "rb");  
    outf = fopen (argv[3], "wb");  
    DataFile.SetFile (inf);  
    CompressedFile.SetFile (outf);  
    encode ();  
    fclose (inf);  
    fclose (outf);  
    } 
    else if (argv[1][0] == 'd'){  
    inf = fopen (argv[2], "rb");  
    outf = fopen (argv[3], "wb");  
    CompressedFile.SetFile (inf);  
    DataFile.SetFile (outf);  
    decode ();  
    fclose (inf);  
    fclose (outf);  
    }  
}

Можете, пожалуйста, объяснить, как пользоваться этой программой через командную строку.

Ответы

▲ 2
int argc, char* argv[]

argc - количество аргументов,
argv - массив строк-аргументов

Запуская программу из командной строки, вы пишете:

в windows: program.exe

в linux: ./program

Здесь program.exe или program есть первый аргумент командной строки (argv[0]), то есть это всегда имя запускаемой программы. Всё, что вы пишете далее через пробел - остальные аргументы.
В программе вы можете их использовать, как вам необходимо.

▲ 1
program <option> <input file> <output file>

options:
e - encode
d - decode