C/C++の宿題を片付けます 57代目
■ このスレッドは過去ログ倉庫に格納されています
0421デフォルトの名無しさん
2006/01/14(土) 02:15:49[2]問題文:
既定のディレクトリにあるファイルをオープンし、ファイルの中身を読む。
ファイルは一日単位で自動的に生成され、名前は
2005_12_31.txtのようなフォーマットになっていて、開く対象のファイルはコマンドラインの
オプションで指定する。(./exefilename prm1 prm2)
例えば、prm1が2005_12_20,prm2が2006_01_10であれば、2005年12月20日から
2006年1月10日までのファイルを順番にオープンする。
ファイルの中身は一行が最大200Byteのテキストで、全て5行で構成されるログのようなもので、
1つのレコードの最後、つまり5行目の終端に、DBGPRT=ONかDBGPRT=OFFという文字列が
付加されている。
ファイルリードは1つの関数として実行し、開くファイルの数だけその関数を実行する事とする。
ファイルリード関数の先頭で子プロセスを生成しておく。
関数内で1つのレコード(MAX200Byte*5)を読み込み、5行目の最後がDBGPRT=ONだった場合、
標準出力に吐き出させる。ただし、吐き出しは子プロセスで行う事。
子プロセスとのプロセス間通信には共有メモリを用い、また、ダブルフォークは禁止とする。
子プロセスの埋葬は必ず行う事。
尚、ソースコードはC言語で記述し、文字列はchar型の配列で扱う事。
上記以外の制約は無し。
[3]環境
OS:Linux
コムパイラ:GCC
言語:C
[4]期限 お勉強なので特になし。
どう取り組んだら良いのかさっぱりです。
取り合えず方針だけでも教えて頂ければ幸いです。それ以前に、プロセス間通信は分かりますが共有メモリを使っての
プロセス間通信はどうやってやるとですか??
■ このスレッドは過去ログ倉庫に格納されています