Unixで関数を探す

Unixで関数を探す

理解しようとする検索(2) 機能Unixバージョン6から始めます。

この例:

seek(0,0,2)

したがって、最初のパラメータはファイル記述子です。 0は標準入力になります。 2番目のパラメータはオフセット(0)です。 3番目のパラメータはマニュアルページに従って "ポインタは、ファイルサイズにオフセットを加えた値に設定されます。

しかし、なぜこのようなことをしますか?なぜファイルの後ろを指しているのですか?

ラインはソースコード

ベストアンサー1

seek(0, 0, 2)ファイル記述子0によってバッファリングされたすべてのデータはスキップされます。したがって、このコマンドの後にこのファイル記述子から次回を読むいいえバッファリングされた内容を読みます。

コードを調べて実際の目的が何であるかを見ると、ファイル記述子0が通常標準入力であるにもかかわらず、プログラムがそのファイル記述子を介して読み取るスクリプトの一部である場合にのみ実際に動作することがわかります。

たとえば、次のスクリプトを見てください。

goto
echo "hello"

パラメータがないとgoto検索が開始されます。

seek(0, 0, 2)コマンドなしで終了すると、コマンド呼び出し側はスクリプトから次のコマンドを読み取るため、スクリプトgotoはまだコマンドを実行します。echo "hello"goto

おすすめ記事