我是新来的C,想得到一些帮助,我有一个问题。我读和写管道如下:
f = fdopen(fdH2P[WRITE], "w"); // writing to pipe, returns a file pointer
和
r = fdopen(fdP2H[READ], "r"); // reading from pipe
我想从函数返回这两个文件指针。最好的办法是什么?
最佳答案
您可以将两个文件指针放入一个结构中并返回该结构,也可以将指针传递给函数,如下所示
void GetPipes( FILE **wptr, FILE **rptr )
{
*wptr = fdopen(fdH2P[WRITE], "w");
*rptr = fdopen(fdP2H[READ], "r");
}
void SomeOtherFunction( void )
{
FILE *wptr, *rptr;
GetPipes( &wptr, &rptr );
...
}