ファイルサイズを調べるコード

c言語
2024.03.10


1. ソース


fsize.c
#include<stdio.h>
#include<stdlib.h>
fpos_t ckfsize(char *);
int main(int argc,char *argv[]){
    FILE *fp;
    char c;
    fpos_t fsize;

    if(argc<2){
        printf(" exif_r  ファイル名 \n");
        exit(1);
    }

    if((fp=fopen(argv[1],"rb"))==NULL){
            printf("%sをオープンできません。\n",argv[1]);
            exit(1);
    }
    fclose(fp);

    fsize=ckfsize(argv[1]); //file sizeを調べる
    printf("%d\n",fsize);

    return 0;
}
/***********************
 * ファイルサイズを調べる
 * *********************/
fpos_t ckfsize( char *FileName)
{
    fpos_t fsize;

    FILE *fp = fopen(FileName, "rb");

    /* ファイルサイズを調査 */
    fseek(fp, 0, SEEK_END);
    fgetpos(fp, &fsize);

    fclose(fp);

    return fsize;
}

fpos_t は ファイルの位置を保持するオブジェクト型



2.コンパイル


$  gcc   fsize.c  -o   fsize


3. 使い方
 例 jpegファイル photdat.jpgのファイルサイズを調べる


   $  ./fize  photdat.jpg
   1742127