7-2. バイナリ処理さてと、truncate本物と比較するか マイtruncateが一応動くようになったので、本物truncateコマンドと処理時間比較していきます。 timeで計測します。 新規バイナリデータ生成。100000000サイズのオール0バイナリを生成します。 まずは、マイtru... 2018.04.247-2. バイナリ処理
仕分け中マイtruncateを作る(その7) 続きです。エラー処理を入れていきます。 tmp配列は必要なくなったので削除して、argvを多用していると、何の文字列だかわからなくなるので、filename変数を作りました。 以下のargvを、 filenam... 2018.04.23仕分け中
仕分け中マイtruncateを作る(その6) stat関数のことが分かってきたので、自作truncateコマンドもstat関数を使ってきれいにしてみます。 改造前のプログラム。 今回statを使って改善する部分です。 35行目でfopenして、さらに37行目でfopenし... 2018.04.22仕分け中
仕分け中errnoを使う 前回使ったperrorは自動的に直近のエラーについて表示してくれるので便利でした。 しかし何のエラーだったのかわかりません。エラーの種類を知るには、errnoを確認する必要があります。 存在しないファイルをstatした場合は、e... 2018.04.21仕分け中
9-1.ソース・ビルド・インストールマイtruncateを作る(その5) マイtruncate続きです。 サイズの切り詰め処理は、truncateコマンドのソースを参考にしてみます。 「マイtruncateを作る(その3)」で知りましたが、truncateコマンドでは、ftruncate関数を使ってました。 ... 2018.04.199-1.ソース・ビルド・インストール
7-2. バイナリ処理マイtruncateを作る(その4) statを使ったファイルサイズの取得方法を覚えたところで、まだまだしょぼい自作truncateのプログラムを改造します。 これが先回作ったtruncateプログラムです。 statを使うためのヘッダを追加 変更前 ... 2018.04.187-2. バイナリ処理
7-1.ファイル・アーカイブstat関数を使う(その2) 「stat関数を使う」で作ったmystat.cを改造してみます。ファイルサイズを手軽に確認するためのコマンドを作ります。 stat構造体のst_sizeを使って、ファイルサイズを表示するプログラムです。 ビルドして実行。... 2018.04.177-1.ファイル・アーカイブ