Wydawanie poleceń dla programu z użyciem parametrów linii

Mikolaj9
Użytkownik
Użytkownik
Posty: 535
Rejestracja: 19 gru 2008, o 15:52
Płeć: Mężczyzna
Lokalizacja: Łódź
Podziękował: 49 razy
Pomógł: 62 razy

Wydawanie poleceń dla programu z użyciem parametrów linii

Post autor: Mikolaj9 »

Jak napisać program, żeby po podaniu odpowiedniego parametru w linii poleceń wykonywał określone czynności, na przykład:

zmien -a plikwe.txt plikwy.txt

gdzie a jest parametrem, który sprawia, że program zmienia dużo litery na małe, a efekt działania programu jest zapisywany w plikwy.txt? (to tylko przykład, nie piszcie mi tego programu , chodzi mi o to jakich komend trzeba użyć w programie)
exother
Użytkownik
Użytkownik
Posty: 97
Rejestracja: 28 wrz 2009, o 15:01
Płeć: Mężczyzna
Podziękował: 3 razy
Pomógł: 9 razy

Wydawanie poleceń dla programu z użyciem parametrów linii

Post autor: exother »

zmien < wejscie.txt > wyjscie.txt

w programie odczytujesz normalnie

cin>>par1>>par2>>par3;

gdzie w pliku wejscie.txt

jest:

Kod: Zaznacz cały

par1 par2 par3
lub

Kod: Zaznacz cały

par1
par2
par3
soku11
Użytkownik
Użytkownik
Posty: 6607
Rejestracja: 16 sty 2007, o 19:42
Płeć: Mężczyzna
Podziękował: 119 razy
Pomógł: 1823 razy

Wydawanie poleceń dla programu z użyciem parametrów linii

Post autor: soku11 »

Lub zrób to tak, jak się to robi normalnie i bez zbędnych plików, czyli użyj argumentów przekazanych do funkcji głównej main. Ogólnie funkcja ta wygląda tak:

Kod: Zaznacz cały

int main(int argc,char* argv[]);
lub tak:

Kod: Zaznacz cały

int main(int argc,char** argv);
Oznacza to dokładnie to samo.
Zmienna argc określa ilość wierszy w tablicy znaków argv. Z uwzględnieniem tego, że w argv[0] mamy zawsze ciąg znaków z nazwą programu (np. program.exe) lub całą ścieżką (np. C:program.exe). Czyli dla wywołania:

Kod: Zaznacz cały

zmien -a plikwe.txt plikwy.txt
Ta tablica będzie się prezentować tak:

Kod: Zaznacz cały

argc=4;
argv[0]="zmien";
argv[1]="-a";
argv[2]="plikwe.txt";
argv[3]="plikwy.txt";
Pozdrawiam.
ODPOWIEDZ