通常のファイル パスの場合、stat を使用してそのサイズを取得できます。パスに C:\temp\sमानकe\app.log のような非 ASCII 名が含まれている場合、機能しません。
int main(int argc, char * argv[])
{
struct stat FileAttrib;
if (stat(argv[1], &FileAttrib) < 0) {
printf("File Error Message = %s\n", strerror(errno));
}
else
{
printf("File size %d\n", FileAttrib.st_size);
}
return 0;
}
stat は char * のみを取ります。コマンド プロンプトから受け取ったパスは、実際には有効なファイルではありません。