コピー2018.06.09前回まではByte単位でしたが、今回から行単位の抽出処理を作っていきます。tailコマンドでファイル末尾を表示する際、ファイルサイズが小さければ、全部読み込んだ後、所望のファイル末尾だけ表示する処理でも良いですが、大きなファイルだと、おそらく時間もリソースも無駄に使ってしまいます。作ってないので、おそらく、ですが。大きくないブロック単位で読み込んで効率的で処理するようなプログラムにしていこうと思います。大きなファイルを扱う前に、まずは、小さなファイルを対象に処理を作っていきます。このような小さなファイルを、行末から10Byte毎に読み込みする処理にします。ダンプするとこのように改行が入っています。以下は、上で述べたような読み込みができるように、べた書きしたプログラムです。rbufを読み込んだ後、改行数を数えます。改行の数が正しく表示されました。上のべた書き部分をfor文でまとめてみます。}takk@deb9:~/tmp$結果は同じく、lf_num=12が表示されます。ここまでできたら、抽出行数と、発見した改行数が一致するところを見つければ、ファイル末尾の行抽出ができます。41行目で判定している、ファイル末尾の改行を、lf_numにカウントしないのがポイントです。Byteのバッファwbufを使って、再度ファイルを読み込んで、表示しています。この作りだと、改行の数を数えるために、読み込みを行い、抽出開始する位置が決まったら、再度読み込みを行うので、2度手間のような気もします。自作tailができたら、答え合わせで本物tailのソースを確認しようと思っています。ファイル末尾3行抽出してみます。パラメータ値を少しずつ増やして確認。動きは大丈夫そうです。甲賀忍法帖の10年後の設定らしいですが、この作品中に甲賀忍法帖の話が出てきて、面白そうなので、並行して見ていこうかと思います。入門用のプログラミング言語とは数多くのコマンドや、プログラミング言語を学習してると、こうしてればもっと早く修得できたと思うことってありますよね。学習順は大事かなと思ってます。私はC言語の理解不能期間を長期に味わったので、特に初心者へ進める言語は注意してます。おじさんに恋するきっかけが謎なのですが、まあ理屈じゃないですね。雨の日は気分も変わるので、そういうこともあるのでしょう。今回は、前回の円のプログラムを改造して、波紋の動きを作ってみます。...仕分け中C言語+GLUT(ブロックの山を登る)テスト用地形ができたので、地形の上を自由に歩き回れるようにしていきます。今回は、プレイヤーの位置にブロックが存在したら、プレイヤーのY座標を一つ上に上げるロジックを追加します。これでブロックの山を登れるように...仕分け中errnoを使う前回使ったperrorは自動的に直近のエラーについて表示してくれるので便利でした。何のエラーだったのかわかりません。エラーの種類を知るには、errnoを確認する必要があります。存在しないファイルをstatした場合は、e...仕分け中Blenderで地形データを作る(その2)続きです。エクスポートしたファイルをheadしてみます。頭の方に、座標データが格納されています。各行の先頭にvとあるので、きっと頂点座標のデータだと思いますが、念のため、どのようなデータがあるのか確認。仕分け中スポンサーリンク広告プロフィール管理人:takketeお仕事:システムエンジニア日々何か向上したくて、もがいています。Policyホーム検索トップサイドバースポンサーリンク広告プロフィール管理人:takketeお仕事:システムエンジニア日々何か向上したくて、もがいています。thanksタイトルとURLをコピーしました。