07/06/22 04:01:03
ファイルサイズの取得方法って、「ftell」を使用するのが常道なんでしょうか。
Cでファイルサイズを取得する場合、自分は「fgetpos」を使用すのかなーと漠然と考えていて【B】のようなソースを考えていたんですが、
>>402がファイルサイズの取得方法として「ftell」を利用してるとのことだったので、【A】のようなソースも考えてみました。
やはりAのほうがよいのでしょうか。。。
========================
【A】
========================
long size = 0L;
FILE *fp = NULL;
fp = fopen( "hogehoge.jpeg", "rb" );
if ( fp == NULL ) {
/* エラー処理 */
} else {
if ( fseek( fp, 0L, SEEK_END ) != 0 ) {
/* エラー処理 */
} else {
size = ftell( fp );
if (size == -1L ) {
/* エラー処理 */
}
if ( fclose( fp ) != 0 ) {
/* エラー処理 */
}
}
}
/* sizeの値がhogehoge.jpegのファイルサイズ */