|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Alex Semenyaka 2:461/640 12 May 2004 14:29:46 To : Vadim Guchenko Subject : Дескрипторы потоков -------------------------------------------------------------------------------- 12 May 04 13:54, you wrote to Eugene Grosbein: VG> А как? А не в RU.UNIX.PROG это надо узнавать? :) VG> fdopen(3,"w") и fopen("/dev/fd/3","w") выдают ошибку. Пробовал VG> другие номера вплоть до 10. Hормально открываются только дескрипторы VG> 0, 1 и 2. FreeBSD 5.2.1. Так этот дескриптор должен быть кем-то создан, прежде чем ты его fdopenишь. Hапример, bash. Вот: dsc.c: #include <stdio.h> #include <err.h> int main(int ac, char *av[]) { int fd; FILE *F; if (ac != 2) errx(1, "Run with the fd number as a parameter"); fd = atoi(av[1]); if (fd < 3) errx(1, "Fd number must be greater than 2"); F = fdopen(fd, "r+"); if (F == NULL) err(1, "Cannot fdopen(%d)", fd); fprintf(F, "Test of fd=%d\n", fd); printf("Test of stdout\n"); fclose(F); exit(0); } alexs@lath$ ./dsc 9 9<&1 Test of fd=9 Test of stdout alexs@lath$ ./dsc 9 9<&1- Test of fd=9 Alex --- IMHO в последней инстанции * Origin: ...можжевеловых... (2:461/640) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/182740a1fd7c.html, оценка из 5, голосов 10
|