🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

3 total messages Started by Tomasz Grabowski Mon, 24 Nov 1997 13:14
Jak to zrobic????
#356
Author: Tomasz Grabowski
Date: Mon, 24 Nov 1997 13:14
7 lines
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????
#357
Author: Krzysztof Murkowski
Date: Mon, 24 Nov 1997 13:43
16 lines
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????
#358
Author: Andrzej Bialecki
Date: Mon, 24 Nov 1997 17:42
45 lines
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