如何在内存中获取缓冲区的文件描述符?

如果我有一个包含文件数据的缓冲区,我该如何从中获取文件描述符? 这是一个从内存中解压缩文件的问题

我写了一个简单的例子,说明如何将filedescriptor放到内存区域:

#include  #include  #include  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(""); } 

你不能。 与C ++不同,文件I / O的C模型不对扩展开放。