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)
Wydawanie poleceń dla programu z użyciem parametrów linii
-
- 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
zmien < wejscie.txt > wyjscie.txt
w programie odczytujesz normalnie
cin>>par1>>par2>>par3;
gdzie w pliku wejscie.txt
jest:
lub
w programie odczytujesz normalnie
cin>>par1>>par2>>par3;
gdzie w pliku wejscie.txt
jest:
Kod: Zaznacz cały
par1 par2 par3
Kod: Zaznacz cały
par1
par2
par3
-
- 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
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:
lub tak:
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:
Ta tablica będzie się prezentować tak:
Pozdrawiam.
Kod: Zaznacz cały
int main(int argc,char* argv[]);
Kod: Zaznacz cały
int main(int argc,char** argv);
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
Kod: Zaznacz cały
argc=4;
argv[0]="zmien";
argv[1]="-a";
argv[2]="plikwe.txt";
argv[3]="plikwy.txt";