我想這樣做來獲得圖像文件的大小尺寸以下入門JPEG圖像
fp = fopen(path,"rb");
fseek(fp,0,SEEK_END);
size = ftell(fp);
fseek(fp,0,SEEK_SET);
的問題是,當我到達第一FSEEK我的程序終止。我已經測試過一個文本文件,它的工作原理和在網上看到一些其他的例子適用於圖像相同的方法。
我想這樣做來獲得圖像文件的大小尺寸以下入門JPEG圖像
fp = fopen(path,"rb");
fseek(fp,0,SEEK_END);
size = ftell(fp);
fseek(fp,0,SEEK_SET);
的問題是,當我到達第一FSEEK我的程序終止。我已經測試過一個文本文件,它的工作原理和在網上看到一些其他的例子適用於圖像相同的方法。
你是非常封閉的,只是一個小的差異
FILE *f = fopen("filename", "rb");
long size = 0;
if (f == NULL)
printf("error"); //handle error
else
{
fseek(f, 0, SEEK_END);
size = ftell(f);
}
什麼是pfile?爲了簡單起見,我們假設fp不是NULL。 – user1072706 2013-02-12 06:16:21
它沒有任何意義 - 爲什麼你會以不同的模式打開文件兩次?錯誤檢查應該在'f'上進行,而不是'pFile',因爲這是我們要操作的。 – nhahtdh 2013-02-12 06:29:27
哦,對不起,我犯了一個錯誤。我編輯了我的答案 – 2013-02-12 06:31:00
'*庫允許實現(因此,代碼中使用它沒有真正的標準可移植性).'不支持有意義SEEK_END從http:// WWW .cplusplus.com/reference/cstdio/fseek/ – nhahtdh 2013-02-12 06:05:08
FP在第二行的價值是多少?你有沒有打算檢查fopen的返回值是否爲NULL? – SecurityMatt 2013-02-12 06:05:26
是的,它不是NULL。 – user1072706 2013-02-12 06:13:24