Мой вопрос заключается в том, как написать fuction, с помощью которого я могу запустить программу с консоли со следующими параметрами: program.exe -i input.txt -o output.txt -t 1/2/3Запуск программы с консоли с параметрами
#include <stdio.h>
#include <stdlib.h>
char substitute(char letter, char* cipher)
{
int i;
int cipher_length = strlen(cipher);
char substitution = letter;
for(i = 0; i < cipher_length; ++i)
{
if(cipher[i] == substitution)
{
substitution = cipher[(i%2) ? (i-1) : (i+1)];
break;
}
}
return substitution;
}
int main()
{
char c;
int t;
FILE *plik = fopen("input.txt", "rt");
FILE *encoded=fopen("output.txt","wt");
char* cipher1 = "GADERYPOLUKIgaderypoluki";
char* cipher2 = "POLITYKARENUpolitykarenu";
char* cipher3 = "KACEMINUTOWYkaceminutowy";
printf("Choose the cipher\n");
printf("[1]GA-DE-RY-PO-LU-KI\n");
printf("[2]PO-LI-TY-KA-RE-NU\n");
printf("[3]KA-CE-MI-NU-TO-WY\n");
scanf("%d",&t);
while(c != EOF)
{
c = getc(plik);
switch(t)
{
case 1:
putc(putchar(substitute(c, cipher1)),encoded);
break;
case 2: putc(putchar(substitute(c, cipher2)),encoded);
break;
case 3: putc(putchar(substitute(c, cipher3)),encoded);
break;
}
}
fclose(plik);
fclose(encoded);
}
я был дан н, как это, но я не знаю, как использовать его:
int function(int argc, char*argcv[])
{
int i;
char *string,*input,*output;
for(i=0; i<argc; i++)
{
}
return 0;
}
Обратите внимание, что по соглашению UNIX опция может иметь две формы: краткую форму одного дефиса за которым следует символ, '-i', или длинная форма двойного дефиса, за которым следует значимая последовательность символов,' --input'. – Beta
Предлагаю посмотреть ['getopt()'] (http://man7.org/linux/man-pages/man3/opterr.3.html) с ''. Это делает это довольно простым. –
e0k