Как получить дескриптор файла буфера в памяти?

класс StackTrace может сделать это.

14
задан Community 23 May 2017 в 10:29
поделиться

2 ответа

Я написал простой пример, как сделать файловый дескриптор в области памяти:

#include <unistd.h>
#include <stdio.h> 
#include <string.h> 

char buff[]="qwer\nasdf\n";

int main(){
  int p[2]; pipe(p);

  if( !fork() ){
    for( int buffsize=strlen(buff), len=0; buffsize>len; )
      len+=write( p[1], buff+len, buffsize-len );
    return 0;
  }

  close(p[1]);
  FILE *f = fdopen( p[0], "r" );
  char buff[100];
  while( fgets(buff,100,f) ){
    printf("from child: '%s'\n", buff );
  }
  puts("");
}
13
ответ дан 1 December 2019 в 14:11
поделиться

Вы не можете. В отличие от C ++, модель файлового ввода-вывода C не открыта для расширения.

0
ответ дан 1 December 2019 в 14:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: