子プロセスの標準入力をパイプの読み取りハンドルに変更しました。
この構造をパイプに書き込もうとしています:
struct textShift{
char* text;
int shift;
};
親プロセスがパイプに書き込む方法は次のとおりです。
while(1)
{
printf("Please enter your message:");
gets(ts.text);
printf("Please enter shift number:");
scanf("%d",&ts.shift);
bytesToWrite = strlen(ts.text)+1;
WriteFile(hWritePipe[0], &ts, bytesToWrite, &bytesWritten,NULL);
printf("number of bytes: %d\n number of bytes successfully sent: %d",bytesToWrite, bytesWritten);
printf("%s", ts.text);
}
ただし、子プロセスでこの構造を読み取る方法がわかりません。文字列の場合、子プロセス ファイルで getchar を使用します。
int main()
{
char message[100];
int i;
while(1)
{
for(i=0; (message[i]=getchar())!=0; i++){}
printf("message from parent: %s", message);
}
system("pause");
return 0;
}
子プロセスのパイプからこの構造を取得するにはどうすればよいですか?