0

我遇到了 popen 的问题(我在 CentOS 机器上使用它)。

代码是这样的(_oss 是一个 ostringstream):

  ...

  FILE*  lp_pipe = popen("/opt/scripts/myscript.php", "r");

  if(!lp_pipe) {
    return false;
  } 

  char l_buffer[256];
  while(!feof(lp_pipe))
  {  
    if(fgets(l_buffer, 256, lp_pipe) != NULL) 
      _oss << l_buffer;
  }

  pclose(lp_pipe);

  ....

现在这工作正常,直到有人更改了 php 脚本。当我从命令行运行脚本时,我仍然看到预期的结果,但是代码不再起作用。第一次fgets调用它现在返回 NULL 然后feof(lp_pipe)返回 1

4

0 回答 0