ฉันมีแฟ้มอยู่ซึ่งฉันกำลังพยายามตามหาลำดับไบต์:0xFF,0xD8,0xFF และ 0xE0. สำหรับตอนนี้ปล่อยให้เป็นเดาว่าฉันแค่มองหา 0xFF. ฉันสร้างโปรแกรมนี้สำหรับการทดสอบ:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void analyzeFile(char* filename)
{
FILE* filePtr = fopen(filename, "rb");
int numImages = 0;
while (!feof(filePtr))
{
char bytes;
bytes = getc(filePtr);
printf("%c", bytes);
if ((bytes == 0xFF))
{
numImages++;
printf("image found!\n");
}
}
printf("%d\n", numImages);
}
นี่มันไม่ทำงาน ตอนที่ฉันเรียก analyzeFile กับพารามิเตอร์"test.txt"มันแสดงเนื้อหาของแฟ้มออกไปสบายดีแต่ไม่ได้ตรวจจับเดียว 0xFF ตามวันที่@item:inlistbox sort:
เนื้อหาของ test.txt:
aÿØÿÿà1234
แสดงผล:
aÿØÿÿà1234
0
สำหรับอ้างอิง,0xFF เป็นค่า y-diaeresis,ÿ ตาม ASCII.
(char)bytes
เป็นพารามิเตอร์ต้องprintf
ไม่มีประโยชน์? มันจะ casted กลับไปint
โดยค่าปริยาย promotions.