cal -3
3か月分のカレンダーを並べて表示するLinuxコマンド""をシミュレートする必要があります。私が今必要としているのは、パイプを使用して実装を機能させることです。使用できないと言われましたが、、、、を3回呼び出すfork()
必要があります。現在、私のプログラムはカレンダーを並べて表示しません。dup2()
write()
read()
close()
system("myCustomCommand")
パイプを使おうとすると問題が発生しました。これが私が試していることです:
int pfd[2];
int p; //for pipe
int d; //for dup2
const int BSIZE = 256;
char buf[BSIZE];
p = pipe(pfd);
if (p == -1) { perror("pipe"); exit(EXIT_FAILURE); }
if (p == 0)
{
d = dup2(pfd[1], 0);
close(pfd[1]);
nbytes = read (pfd[1], buf , BSIZE);
close(pfd[0]);
exit(EXIT_SUCCESS);
}
else
{
close(pfd[0]);
write(pfd[1], "test\n", BSIZE);
close(pfd[1]);
exit(EXIT_SUCCESS);
}
残念ながら、このコードは何も表示しません。これを手伝ってくれませんか。