我有一个函数,我在其中调用了 _open 几次。
如果_popen
返回NULL
,我需要_pclose
在函数返回之前调用吗?
我已经标记了 3 个我认为_pclose
可能需要调用的位置。
我必须致电这些地点中的哪一个_pclose
?
bool theFunction()
{
FILE* pPipe;
char buffer[1000];
if( (pPipe = _popen("dir", "rt")) == NULL )
{
//location 1
_pclose(pPipe);
return false;
}
while(fgets(pipeBuffer, maxBufferSize, pPipe))
{
printf(pipeBuffer);
}
if( (pPipe = _popen("cls", "rt")) == NULL )
{
//location 2
_pclose(pPipe);
return false;
}
//location 3
_pclose(pPipe);
return true;
}