C言語でファイルサイズを取得する方法について説明します。
C言語では、ファイルサイズを以下の手順で取得します。
 1.サイズを調べたいファイルを開く。
 2.ファイルの終端位置にポインタを移動する。
 3.移動した終端位置がファイルサイズになります。

1.サイズを調べたいファイルを開く。
 →fopen()を使って、ファイルを開きます。
2.ファイルの終端位置にポインタを移動する。
 →fseek()を使って、終端位置にポインタを移動します。
3.移動した終端位置のファイル位置を取得する。(ファイルサイズの取得)
 →ftell()やfgetpos()を使って現在のポインタの位置を取得します。

以下、サンプルです。
#include <stdio.h>

int main(int argc, char* argv[]){
FILE *fp;
char fileName[256] = "./test.txt";

//ファイルを開く
fp = fopen(fileName, "rb");
if(NULL == fp){
printf("File Open Error!(%s)\n", fileName);
return -1;
}

//ファイルの終端位置にポインタを移動する
fseek(fp, 0, SEEK_END);

//ファイル位置を取得する(ftellの場合)
{
long size;
size = ftell(fp);
printf("*** Result(ftell) ***\n");
printf("FileName = %s \n", fileName);
printf("Size = %d Byte\n", size);
}

//ファイル位置を取得する(fgetposの場合)
{
fpos_t size;
fgetpos(fp, &size);
printf("*** Result(fgetpos) ***\n");
printf("FileName = %s \n", fileName);
printf("Size = %d Byte\n", size);
}

fclose(fp);
return 0;
}


【補足事項】
・ftellの場合とfgetposの場合では、サイズ取得に使用するデータ型が異なります。