Thread View: pl.comp.lang.c
3 messages
3 total messages
Started by Tomasz Grabowski
Mon, 24 Nov 1997 13:14
Jak to zrobic????
Author: Tomasz Grabowski
Date: Mon, 24 Nov 1997 13:14
Date: Mon, 24 Nov 1997 13:14
7 lines
830 bytes
830 bytes
Czesc! Mam pytanie, jaka instrukcja wykonuje sie nastepujaca rzecz: Mam jakis ciag znakow *argvc[] - niech to bedzie np. nazwa pliku "plik.txt". Teraz chcialbym (pod Unixem) aby moj program odpalil np. program "vi" wraz z ta nazwa "plik.txt". Ktos wie jak to sie robi???
Re: Jak to zrobic????
Author: Krzysztof Murkowski
Date: Mon, 24 Nov 1997 13:43
Date: Mon, 24 Nov 1997 13:43
16 lines
1098 bytes
1098 bytes
Tomasz Grabowski wrote: > > Mam jakis ciag znakow *argvc[] - niech to bedzie np. nazwa pliku > "plik.txt". Teraz chcialbym (pod Unixem) aby moj program odpalil np. > program "vi" wraz z ta nazwa "plik.txt". Ktos wie jak to sie robi??? #include <stdlib.h> ... char string[100]; ... system( strcat(strcpy( string, "/usr/bin/vi "), argvc[0] ) ); -- Krzysztof Murkowski mailto:murek@ml.put.poznan.pl http://www.ml.put.poznan.pl/~murek
Re: Jak to zrobic????
Author: Andrzej Bialecki
Date: Mon, 24 Nov 1997 17:42
Date: Mon, 24 Nov 1997 17:42
45 lines
1922 bytes
1922 bytes
Krzysztof Murkowski (murek@ml.put.poznan.pl) wrote:
: Tomasz Grabowski wrote:
: >
: > Mam jakis ciag znakow *argvc[] - niech to bedzie np. nazwa pliku
: > "plik.txt". Teraz chcialbym (pod Unixem) aby moj program odpalil np.
: > program "vi" wraz z ta nazwa "plik.txt". Ktos wie jak to sie robi???
: #include <stdlib.h>
: ...
: char string[100];
: ...
: system( strcat(strcpy( string, "/usr/bin/vi "), argvc[0] ) );
...lub troche bardziej optymalnie (bez uruchomienia posredniego shella,
ktory funkcja system() uzywa do interpretacji argumentow zanim uruchomi
wlasciwy program):
...
#include <unistd.h>
...
int status;
...
switch(pid=fork()) {
case 0:
execv("/usr/bin/vi",argvc,NULL);
perror("execv");
exit(1);
case -1:
perror("fork");
exit(1);
default:
while(wait(&status)!=pid)
;
fprintf(stderr,"program status=%i\n",WEXITSTATUS(status));
}
--
Andrzej Bialecki
---------------------+---------------------------------------------------------
abial@warman.org.pl | if(halt_per_mth > 0) { fetch("http://www.freebsd.org") }
Research & Academic | "Be open-minded, but don't let your brains to fall out."
Network in Poland | All of the above (and more) is just my personal opinion.
---------------------+---------------------------------------------------------
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads