teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

情報が足りなかった

2021/06/26 05:39

投稿

grape_ll
grape_ll

スコア83

title CHANGED
File without changes
body CHANGED
@@ -41,7 +41,7 @@
41
41
 
42
42
  ret = fork();
43
43
  if(ret < 0){
44
- perror("failed to fork");
44
+ perror("fork");
45
45
  exit(1);
46
46
  }
47
47
 
@@ -50,7 +50,7 @@
50
50
  }
51
51
  else{
52
52
  if( (ifd = open(argv[1], O_RDONLY) ) == -1 ){
53
- perror("open IN_file");
53
+ perror("open");
54
54
  exit(1);
55
55
  }
56
56
  //read, writeなどを用いて連続的な重複行を除いた物を作る

1

情報が足りなかった

2021/06/26 05:39

投稿

grape_ll
grape_ll

スコア83

title CHANGED
File without changes
body CHANGED
@@ -10,9 +10,8 @@
10
10
  ```
11
11
  のような入力ファイルをコマンドライン引数として与えられたとき,5と返すようなC言語のプログラムを,fork,exec, pipe, dupのすべてを用いて作成したいです.ファイル入出力、プロセス制御、パイプ生成等に関しては、高水準ライブラリ関数を使用しない方向で考えています.
12
12
  考えとしては,forkで子プロセスを作って親の方で重複行の削除,その出力をpipeで子供に入力として渡し,そこで行をカウントして標準出力する,というふうに思っているのですが,dupをどこで用いればいいのかわかっていないので教えていただきたいです.
13
+ もしくは,考え方自体があまりよくなく,他の方法がある場合にはそれを教えていただきたです.
13
14
 
14
- また,上述した考えに基づいて枠組みを作ってみたのですが,コメントアウトしている中身の部分を同実装すればよいのか分からないので,そちらも教えていただけると幸いです.
15
-
16
15
  ```C
17
16
  #include<stdio.h>
18
17
  #include<stdlib.h>