infile を outfile に連結する次の簡単なプログラムがあります
char *execArgs[] = { "cat", NULL};
int outfile = open("outfile", O_WRONLY | O_CREAT, 0644);
int infile = open("infile", O_RDONLY, 0);
dup2(outfile, STDOUT_FILENO);
dup2(infile, STDIN_FILENO);
close(outfile);
close(infile);
execvp(execArgs[0], execArgs);
ここで、infile の内容が
this is infile
そしてアウトファイルは
this is outfile
プログラムを実行した後、outfile の内容の最後に余分な「e」が追加されます。
this is infilee
また、出力ファイルが代わりに
this is outfile
this is outfile
あれは。。。になる
this is infilee
this is outfile
なにが問題ですか?