• ベストアンサー

先頭からバイトの位置と は

まだCGIを学びはじめたばかりの初心者です。よろしくお願いします。 アクセスカウンター作成の中でseek関数がでてきたのですが、書籍の説明が上手く理解できずにいます。 「オフセットは基準からの位置をバイト数で指定します。」とあるのですが、ここでいうバイト数で指定 とはどういう意味でしょうか? (ここのバイト数で指定 という事がどういうことなのか上手く理解できずにいるので、基準とオフセットの関係性もよくわからないでいます。) ここでいうバイト数とはどういう事なのか、ご解説やアドバイスなどをいただけたらと思います。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • maku_x
  • ベストアンサー率44% (164/371)
回答No.1

確認ですが、CGI言語は perl ですよね。以下は perl として説明します。もっとも、PHP とかは、私は分かりませんので。 seek 関数の書式は、 seek FILEHANDLE,POSITION,WHENCE です。POSITION がバイト数、WHENCE が基準の位置です。 WHENCE=0 (SEEK_SET)のとき、ファイルの先頭から POSITION バイト目から読み込めるよう、ファイルポインタをセットします。 WHENCE=1 (SEEK_CUR)のとき、現在のファイルポインタの位置 + POSION バイト目から読み込めるよう、ファイルポインタをセットします。 WHENCE=2 (SEEK_END)のとき、ファイルの終端位置 - POSITION バイト目から読み込めるよう、ファイルポインタをセットします。 こんな感じで分かりますでしょうか。

thank001
質問者

お礼

maku_xさん、書込ありがとうございます。 書き込みいただいた、実例のご説明を何度か読み返し理解する事ができました。バイト目というのもスクリプトなどでの1からではなく0はじまる事を指していたのですね。 大変助かりました。 ありがとうございました。

関連するQ&A