read file child: Bad file descriptor
次のコードは、常にまたはのようなエラーをスローしますread file child: No error
。
親は、匿名の親のパイプからデータを読み取る子プロセスを作成します。HANDLE
std からの取得中にエラーが発生しました。
親.cpp:
sinfo.hStdInput = pipe_read;
/****some code********/
if(!CreateProcess(0, szCmdline, 0, 0, 0, 0, 0, 0, &sinfo, &pinfo))
{
perror("create process");
exit(1);
}
/****some code********/
if(!WriteFile(pipe_write, &to_process, sizeof(int)*20, &bytes, 0))
{
perror("write file parent");
exit(1);
}
vector<int> sorted;
if(!ReadFile(pipe_read1, &sorted, sizeof(int)*20, 0, 0))
{
perror("read file parent");
exit(1);
}
child.cpp:
/****some code********/
HANDLE pipe_read = GetStdHandle(STD_INPUT_HANDLE);
/****some code********/
if(!ReadFile(pipe_read, &to_process, sizeof(int)*20, &bytes, 0))
{
perror("read file child");
exit(1);
}
/****some code********/
私のコードにはどのような問題がありますか? 受信 (子) と転送 (親) のアドレスは同じです。