Ho un file in cui sto provando a cercare questa sequenza di byte: 0xFF, 0xD8, 0xFF, e 0xE0. Per ora, supponiamo che io sto solo cercando 0xFF. Ho fatto questo programma per il test:
#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);
}
Questo non funziona. Quando l'ho chiamata analyzeFile con il parametro "test.txt" e stampa il contenuto del file benissimo, ma non consente di individuare un unico 0xFF byte:
contenuto della test.txt:
aÿØÿÿà1234
output:
aÿØÿÿà1234
0
per riferimento, 0xFF è equivalente a y-dieresi, ÿ, secondo ASCII.
(char)bytes
come parametro diprintf
inutile? Sarà colato indietroint
per impostazione predefinita promozioni.