записать двойную переменную в двоичный файл в C ++ - PullRequest
0 голосов
/ 19 октября 2018

Я пытаюсь записать двойную переменную в двоичный файл.Я использую следующий код:

double x = 1.;    
ofstream mfout;
mfout.open("junk.bin", ios::out | ios::binary  );
mfout.write((char*) &x, sizeof(double));
mfout.close();

То, что он возвращает мне после преобразования выходного двоичного файла в ASCII, таково:

.......

стороннее программное обеспечение, которое должно прочитать файл, также возвращает ошибку, показывающую, что есть проблема.Я был бы благодарен, если бы кто-то направлял меня.

1 Ответ

0 голосов
/ 19 октября 2018

То, что он возвращает мне после преобразования выходного двоичного файла в ASCII, таково:

.......

Нет.Это то, что возвращается вам, если вы интерпретируете его как ASCII без преобразования.Поскольку это не ASCII, интерпретация его как ASCII приведет к бессмысленным действиям.

Стороннее программное обеспечение, которое должно прочитать файл, также возвращает ошибку, показывающую наличие проблемы.

Тогда кажется, что стороннее программное обеспечение не ожидает двоичного файла, так как это то, что вы написали.

Файл является двоичным, а не ASCII.Только что-то, ожидающее единственного двойного в двоичном формате (какой бы двоичный формат ни использовался вашей платформой с вашими опциями компилятора и т. Д.), Может иметь смысл из этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...