Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
чтение int бинарно из файла |

26.03.2009, 16:10
|
|
Постоянный
Регистрация: 06.06.2007
Сообщений: 575
Провел на форуме: 1180737
Репутация:
180
|
|
чтение int бинарно из файла
Нужно бинарно считать файл, структуру файла знаю.
Первым значением идет unsugned int.
Вот началные байты 0x00, 0x00, 0x08, 0x01 это число 2049. А в переменно после считывания храниться число 17301504 это как раз если в байтах 01 08 00 00, в точности наоборот.
Есть ряд функци меняющий порядок байт в числе, из низх по иписанию подходит
ntohl - осуществляет перевод целого длинного числа из сетевого порядка байт в порядок байт, принятый на компьютере
но она кажеться только дя MVS.
как можно считать int из файл в бинарном режиме чтобы получить число которое там записано
|
|
|

26.03.2009, 16:58
|
|
Новичок
Регистрация: 04.08.2008
Сообщений: 29
Провел на форуме: 167800
Репутация:
15
|
|
PHP код:
FILE* fp;
unsigned int var;
fp=fopen(szFileName,"rb");
fseek(fp,0,SEEK_SET);
fread(&var, sizeof(unsigned int),1,fp);
fclose(fp);
Прочитает uint32.
И не стоит путать способы хранения переменных в файлах и в памяти!
Для проверки можно сделать так:
PHP код:
printf("var=%#2.2x",var);
Последний раз редактировалось SmanxX1; 26.03.2009 в 17:01..
|
|
|

26.03.2009, 21:54
|
|
Участник форума
Регистрация: 26.12.2004
Сообщений: 188
Провел на форуме: 1495357
Репутация:
107
|
|
ntohl - осуществляет перевод целого длинного числа из сетевого порядка байт в порядок байт, принятый на компьютере
но она кажеться только дя MVS.
Import Library: Link with ws2_32.lib 
можно как замену использовать:
long _ntohl(long toswap)
{
__asm
{
mov eax,toswap
bswap eax
}
}
|
|
|

26.03.2009, 22:55
|
|
Постоянный
Регистрация: 06.06.2007
Сообщений: 575
Провел на форуме: 1180737
Репутация:
180
|
|
Import Library: Link with ws2_32.lib
в DEV-C++ незнаю как присоединить, в MVS непомогло.
|
|
|

27.03.2009, 00:24
|
|
Участник форума
Регистрация: 19.05.2007
Сообщений: 281
Провел на форуме: 2823587
Репутация:
106
|
|
#pragma comment(lib,"ws2_32.lib")
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|