ftellは指定されたファイルの現在のアクセス位置を取得するC標準ライブラリ関数・・・。
の2番目がftell・・・。
引数はファイルポインタだけ・・・。
戻り値に、先頭からのアクセス位置がlongの値で返ってくる・・・。
fseekの頁ではprof.binからageだけ取り出したが、ここでは、prof.binからname、age、addressをそれぞれ取り出しながら、その時のアクセス位置も出力する・・・。
構造体変数は作らず、個別にname、age、addressを宣言する・・・。
positionが今回取得するアクセス位置・・・。
prof.binをバイナリ読み込みで開く・・・。
この時点でのファイルアクセス位置をftellで取得し、printfで出力・・・。
最初はname(長さ32)なので、sizeof(char) * 32 = 1 * 32 = 32バイト分読み込む・・・。
この時点での位置をまた出力・・・。
実行すると、ここまでで、
$ ./ftell position: 0 name: Taro position: 32
こうなる・・・。
でこのあとも、
ageを読み込み、
位置を出力、
この時点で、
age: 20 position: 36
ageは4バイトだから4バイト先に行って、
で最後はaddressを読み込み、
位置を出力、
ここは、
address: Tokyo position: 164
となり、ファイルの最後まできた・・・。