Strona 1 z 1

Wynik działania polecenia jako argumentu wyprowadzony do pliku txt w C

: 12 lipca 2015, 12:17
autor: Kilof25
Witam,
Program uruchamiany jest z wiersza poleceń z dodatkowym argumentem typu ls, pwd, itd ( np. ./Program ls). Wynik działania argumentu ma zostać przekierowany z wyjścia standardowego do pliku tekstowego ( w moim przypadku to plik Wynik.txt). Co powinienem zmienić, by w wierszu execvp("%s", argv[1]); w miejscu "%s" pojawiło się polecenie podane jako argument przy uruchamianiu programu?

Kod: Zaznacz cały

#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main(int argc, char* argv[]){

if (argc<2){
fprintf(stderr, "Za malo argumentow. Uzyj:\n");
fprintf(stderr, "%s <polecenie>\n", argv[0]);
exit(1);
}

close(1);
creat("wynik.txt", 0600);
execvp("%s", argv[1]);

exit(0);
}

: 12 lipca 2015, 22:04
autor: pone13
system(argv[1]); jak nie muszisz przekazywać jeszcze kolejnych parametrów...

: 13 lipca 2015, 16:56
autor: Kilof25
Wielkie dzięki pone13 za pomoc. Zmieniłem tak jak napisałeś i zadziałało.