Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > float в бинарном виде


Автор: gepard 4.3.2005, 10:28
Люди как мне записать переменную типа float в файл в бинарном виде? Очень желательно при этом не пользоваться MFC. Ну и соответственно затем прочитать записанное.

Автор: srd 4.3.2005, 10:46
Точно так же, как любую другую переменную. Если надо без MFC, то используй API функции CreateFile, CloseHandle, ReadFile, WriteFile.

Код

#include <windows.h>

int main(void)
{
   float f;
   HANDLE hFile;
   DWORD dw;

   f = 0.5f;

   // запись

   hFile = CreateFile("c:\\file.bin", GENERIC_WRITE,
       FILE_SHARE_READ,
       NULL,
       CREATE_ALWAYS,
       FILE_ATTRIBUTE_NORMAL,
       NULL);

   if (hFile != INVALID_HANDLE_VALUE)
   {
       WriteFile(hFile, &f, sizeof (f), &dw, NULL);
       CloseHandle(hFile);
   }

   f = 0;

   // чтение

   hFile = CreateFile("c:\\file.bin", GENERIC_READ,
       FILE_SHARE_READ,
       NULL,
       OPEN_EXISTING,
       FILE_ATTRIBUTE_NORMAL,
       NULL);

   if (hFile != INVALID_HANDLE_VALUE)
   {
       ReadFile(hFile, &f, sizeof (f), &dw, NULL);
       CloseHandle(hFile);
   }

   return 0;
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)