2013-02-12 61 views
1

我想這樣做來獲得圖像文件的大小尺寸以下入門JPEG圖像

fp = fopen(path,"rb"); 
fseek(fp,0,SEEK_END); 
size = ftell(fp); 
fseek(fp,0,SEEK_SET); 

的問題是,當我到達第一FSEEK我的程序終止。我已經測試過一個文本文件,它的工作原理和在網上看到一些其他的例子適用於圖像相同的方法。

+0

'*庫允許實現(因此,代碼中使用它沒有真正的標準可移植性).'不支持有意義SEEK_END從http:// WWW .cplusplus.com/reference/cstdio/fseek/ – nhahtdh 2013-02-12 06:05:08

+0

FP在第二行的價值是多少?你有沒有打算檢查fopen的返回值是否爲NULL? – SecurityMatt 2013-02-12 06:05:26

+0

是的,它不是NULL。 – user1072706 2013-02-12 06:13:24

回答

1

你是非常封閉的,只是一個小的差異

FILE *f = fopen("filename", "rb"); 
long size = 0; 

if (f == NULL) 
printf("error"); //handle error 
else 
{ 
fseek(f, 0, SEEK_END); 
size = ftell(f); 
} 
+2

什麼是pfile?爲了簡單起見,我們假設fp不是NULL。 – user1072706 2013-02-12 06:16:21

+0

它沒有任何意義 - 爲什麼你會以不同的模式打開文件兩次?錯誤檢查應該在'f'上進行,而不是'pFile',因爲這是我們要操作的。 – nhahtdh 2013-02-12 06:29:27

+0

哦,對不起,我犯了一個錯誤。我編輯了我的答案 – 2013-02-12 06:31:00