您好我想找到一個原始文件試圖找到一個JPEG文件從存儲卡使用C
有人告訴我,一開始的每個JPEG圖像與任何
開始內部的JPEG格式拍攝的RAW文件 - 0xFF的0xd8 0xFF的0xe0的
- 0xFF的0xd8 0xFF的0xe1
所以我這樣做:
// open input file
FILE* inptr = fopen("card.raw", "r");
// create an array to hold info read from the memory card
char buffer[512];
int counter=0;
int counter2=0;
while ((fread(buffer, sizeof(char), 512, inptr)!=0))
{
if(buffer[0]==0xff)
{
counter++;
printf("%2d - Found a jpeg!\n", counter);
}
else
{
//Just to test
counter2++;
printf("%2d - Nothing Found!\n", counter2);
}
}
但是,即使我當然肯定有一些圖片在那裏,程序沒有找到anythi NG。預先感謝您的建議。
您可以在該SD卡上擁有一個壓縮文件系統(或存檔)。您的代碼似乎搜索以0xff開頭的扇區,但我會想象圖像可以以任意(512的非倍數)偏移量開始。 –
您應該改用photorec。 – OmnipotentEntity
RAW文件(根據圖像捕捉設備的製造商而有很大差異,並且通常不是很好記錄)通常是專有格式的圖像文件,而不僅僅是其他圖像格式的容器。因此,給定合適的軟件,它們可能*轉換成JPEG文件,但它們不一定包含* JPEG文件。 – twalberg