首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于管道的有关问题

2012-02-22 
关于管道的问题问题描述如下:用CreateProcess创建一个新的进程执行一个特定的命令,将结果存入管道然后利用

关于管道的问题
问题描述如下:
用CreateProcess创建一个新的进程执行一个特定的命令,将结果存入管道
然后利用一个循环从管道中读取结果,当结果的数据量不大时一切正常
当结果数据很多,需要多次循环时会出现问题
执行到某一个特定的点时,程序会死在一个地方,而且无法用断点跟踪到
不知是什么原因
贴出部分代码,忘各位帮忙,怀疑是我的管道用错了
CreateProcess(NULL,chCommand,&sa, &sa,TRUE,NULL, NULL,curWorkspace.c_str(),&siStartInfo,&piProcInfo);//创建新线程
//读取管道部分代码
while(true)
{
bool success = ReadFile(hStdOutRead,buffer,cacheLen,&dwRead,NULL); 
if(success)
{
buffer[dwRead] = 0;
fout<<buffer;
}
  else
  {
  break;
  }

}

//等待一定时间后杀死进程
WaitForSingleObject(piProcInfo.hProcess,60 * 1000);
TerminateProcess(piProcInfo.hProcess,0);

[解决办法]
CreateProcess(NULL,chCommand,&sa, &sa,TRUE,NULL, NULL,curWorkspace.c_str(),&siStartInfo,&piProcInfo);//创建新线程 

-----------
?
笔误?

进程!

热点排行