216 :
デフォルトの名無しさん:
[1] 授業単元: オペレーティングシステム
[2] 問題文(含コード&リンク):
1. 引数にファイル名を指定すると,そのファイルのサイズとファイルの種類(一般ファイル,デ
ィレクトリ,パイプ等),そして最終変更時刻を表示するコマンド(fview という名称とする)を作
成せよ.ただし,引数には,複数のファイルを指定できるようにすること.また,fstat システム
コールを用いること.
実行
$ fview aaa.txt bbb.txt ccc.txt …
ヒント
ファイルの種類は,fstat 構造体メンバのst_mode の上位4 ビットで表わされる.
2. 引数に指定した複数のテキストファイルの内容を結合して,一つのファイルにまとめるコマ
ンド(catfiles という名称とする)を作成せよ.ただし,まとめた内容を格納するファイル名は,
“concat.txt”とすること.ただし,cat コマンドをsystem 関数の内部で呼ぶような構成は認め
ない.システムコールとしては,open,close,read,write を用いること.また,結合してまとめ
た結果を格納するファイルが存在しない場合には,creat システムコールを用いて生成するこ
と.
実行
$ catfiles aaa.txt bbb.txt ccc.txt …
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C++
[4] 期限: 2009年12月20日09:00まで