enviroment
checkbow
checkbow na cha601a
Neděle Březen 5 20:30:41 CET 2000
> Asi nejjednodussi je prohnat vystup rourou /* hledej int popen(...) */,
> to je presne k tomu urceny.
bohuzel s rourou udelanou pres popen() je problem ze je jednosmerna
a ja potrebuju obousmernou
nebo si to aspon myslim, protze pokud jsem ji otevrel s "r+" tak to pri pokusu o
zapis slitlo :( .
a podle GNU C manualu je bud "r" nebo "w" coz mi nedostacuje
zkusil jsem tedy udelat pipe rucne
pid_t pid;
int myp[2];
char *buf,*pp;
....
if (pipe(myp))
{
printf("error");
return 1;
}
pid=fork();
if (pid < (pid_t) 0)
{ printf("fork error\n");
return 2;
}
else if (pid = (pid_t)0)
{ //child
sprintf(pp,"%d",myp[0]);
setenv("MSG",pp,1);
system("./scr"); //spousti externi program(jako enviroment mu posilam
// pipe) ktery bezi ve smycce a cte
// data na vstupu a posila je zase na vystup }
....
pip=fdopen(myp[1],"r+");
fputs(buf,pip); // zde to slitne taky
...
zaver tedy je, ze asi neco delam spatne
nevite nekdo co ?
checkbow
checkbow
Další informace o konferenci Linux