「基本プログラムマニュアル」の編集履歴(バックアップ)一覧はこちら

基本プログラムマニュアル」(2007/06/21 (木) 18:04:05) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

一応作ってみました。 引数に相対パスか絶対パスを入力して実行してみてください。 とりあえず機能としては最低限の、 すべての行を表示 l or L セーブして終了 e or E を入れてみました。 すべての行を表示プログラムが、かなりごちゃごちゃになってしまったので ソースを見て分からないところは気軽に聞いてください。 一番困ったのが 例えば new(\n)←通常は改行記号は見えない (\n) old(\n) と new(\n) (\n) old では扱いかたが異なることです。 ファイルの最後を示すEOFの位置が異なることにより生じるものだと思います。(確証はなし) 詳しく述べると、実際ファイルは new(\n)(\n)old(\n)EOFとなっていると思われます。(想像) fgets関数は改行記号(\n)、もしくはEOFにあたるまでを読み込むので(感覚的には行単位で読み込む) 上で述べた違いというのは最後に読み込むのがEOFのみかoldEOFの違いではないかと思われます。 feof関数はこのファイルが最後まで読み込まれたかを判定する関数ですが、 これはおそらくEOFがfgetsやfgetcなどで読み込まれた時点で、0以外(つまり終了)の値を 返すのだと思います。 ほとんど実際エラーを対処して、かつ眠いときに気がついた感覚論なので誤りがある可能性が高いです。 間違ってる場合は指摘してください。 武井
一応作ってみました。 引数に相対パスか絶対パスを入力して実行してみてください。 とりあえず機能としては最低限の、 すべての行を表示 l or L セーブして終了 e or E を入れてみました。 すべての行を表示プログラムが、かなりごちゃごちゃになってしまったので ソースを見て分からないところは気軽に聞いてください。 一番困ったのが 例えば new(\n)←通常は改行記号は見えない (\n) old(\n) と new(\n) (\n) old では扱いかたが異なることです。 ファイルの最後を示すEOFの位置が異なることにより生じるものだと思います。(確証はなし) 詳しく述べると、実際ファイルは new(\n)(\n)old(\n)EOFとなっていると思われます。(想像) fgets関数は改行記号(\n)、もしくはEOFにあたるまでを読み込むので(感覚的には行単位で読み込む) 上で述べた違いというのは最後に読み込むのがEOFのみかoldEOFの違いではないかと思われます。 feof関数はこのファイルが最後まで読み込まれたかを判定する関数ですが、 これはおそらくEOFがfgetsやfgetcなどで読み込まれた時点で、0以外(つまり終了)の値を 返すのだと思います。 ほとんど実際エラーを対処して、かつ眠いときに気がついた感覚論なので誤りがある可能性が高いです。 間違ってる場合は指摘してください。 武井 6/21 コマンドを取得するためのgets関数をfgets関数に変更

表示オプション

横に並べて表示:
変化行の前後のみ表示: