Привет, я пытаюсь закончить мой проект и им путать про чтение байтов из двоичного файла. моя цель читается 2 байта каждый раз до EOF. я хочу сначала проверить, первый бит первого байта 0 или 1, и я хочу распечатать остаток 7 бит, как целое. Также я хочу напечатать вторые байты, как integer.So у меня есть этотчтение из двоичного файла 2 байта каждый раз
short test[2];
while((fread(&test,sizeof(short),1,ifp)!=0) //ifp is input file pointer
{
fread(&test,sizeof(short),1,ifp);
printf("test first byte :%d\n",test[0]);
printf("test seocnd byte : %d\n",test[1];
}
я не знаю, им чтение верно или нет, а также я не мог понять, как им собираются получить первый бит первого байта и отдых 7 бит, как целые и как im gonna printout второй байт, как целое.
Thnx ..
Вы читаете один короткий (дважды). Почему вы печатаете два? Также: вы должны использовать аргументы varargs для printf для int, так как% d ожидает аргумент int. (вероятно, это будет сделано с помощью сопоставления аргументов-дополнений/стеков, но это по-прежнему небрежная привычка) – wildplasser
Вы должны прочитать о побитовых операторах. –
да, вы, ребята, я дважды проверял. У меня проблемы с бинарными файлами. Мне нужно больше изучать бинарные файлы. thnx – ccc