Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
 Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2

Не записывается бинарный файл:(

25.03.2012, 17:21. Показов 2370. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Программа читает четыре числа типа double в текстовом файле
0.0367450.4577840.0987860.658325
и записывает их в бинарный файл в той же последовательности. Почему в бинарном файле числа выглядят как в текстовом?
0.0367450.4577840.0987860.658325
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
        /// Переменные
    FILE *  file_txt;
    FILE *  file_bin;
    int     i;
    double  x[1024];
 
        /// Чтение из файла
    file_txt = fopen( "object.txt", "rt" );
    for ( i = 0; i < 4; i ++ ) { fread( &x[i], sizeof(double), 1, file_txt ); } // читаем 4 числа типа double
    fclose( file_txt );
 
        /// Запись в файл
    file_bin = fopen( "object.bin", "wb" );
    for ( i = 0; i < 4; i ++ ) { fwrite( &x[i], 1, sizeof(double), file_bin ); } // записываем 4 числа типа double
    fclose( file_bin );
 
        /// Выход
    system( "pause" );
    return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.03.2012, 17:21
Ответы с готовыми решениями:

Не записывается в бинарный файл
Переменные считываются, однако при записи в файл ничего не происходит int day; int month; int year; int price; int seatnum; int...

Сконвертировать текстовый файл в бинарный, переписать только положительные числа в другой бинарный файл
Бинарные файлы!! Помогите пожалуйста. Дано бинарный файл ( данные сначала в текстовом, конвертирую в бинарный). Без использования другого...

Записать в бинарный файл массив объектов Student (бинарный файловый ввод/вывод)
Здравствуйте. Стоит задача записать в бинарный файл массив объектов student: class student { string firstname,lastname, group; ...

6
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
25.03.2012, 17:24
ну так и читайте их из текстового файла, зачем там fread???
0
Жарю без масла
867 / 749 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
25.03.2012, 17:35
Цитата Сообщение от programina Посмотреть сообщение
Программа читает четыре числа типа double
Цитата Сообщение от programina Посмотреть сообщение
fread( &x[i], sizeof(double), 1, file_txt );
да ну? я вижу, что она читает некоторое колицество байт из файла. в котором, по-видимому, содержится набор символов(цифр). и то, что у вас
Цитата Сообщение от programina Посмотреть сообщение
double x[1024];
совсем не значит, что вы считываете в этот массив числа типа double, а не значения символов-цифр. вы просто копируете байты из 1го файла в другой

Добавлено через 5 минут
читайте так
C
1
for ( i = 0; i < 4; i ++ ) { fscanf(file_txt, "%f",  &x[i]); }
0
 Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
25.03.2012, 17:47  [ТС]
Не записывается бинарно
0
Жарю без масла
867 / 749 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
25.03.2012, 17:59
выйдете из танка и прочитайте, что вам писали
0
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
25.03.2012, 17:59
ТС вылезай из танка, читать из текстового нужно не посредством FREAD!!!!!
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    FILE* in, *out;
    in = fopen("in.txt", "rt");
    if (!in)
    {
        printf("error opening file!");
        return 1;
    }
 
#define N 4
    double arr[4];
    for (int i = 0; i < N; ++i)
    {
        fscanf(in, "%lf ", &arr[i]);
    }
    fclose(in);
 
    out = fopen("out.bin", "wb");
    if (!out)
    {
        printf("error opening OUT file");
    }
 
    for (int i = 0; i < N; ++i)
    {
        fwrite(&arr[i], 1, sizeof(double), out);
    }
    fclose(out);
 
    return 0;
}
1
 Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
25.03.2012, 18:18  [ТС]
C fscanf и впрям работает, вспомнила что ее я раньше использовала в одном проекте, как пришла к fread не понимаю, наверно по аналогии если fwrite - запись, то fread - чтение.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.03.2012, 18:18
Помогаю со студенческими работами здесь

Информация не записывается в файл
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;conio.h&gt; #include &lt;string&gt; using namespace std; char Otvet; string Text;...

Результат не записывается в файл
Здравствуйте. Столкнулся с такой проблемой: после выполнения цикла (условия), результат не записывается в файл. int main() { ...

Структура не записывается в файл
Всем привет. Пытаюсь, значит, организовать работу с файлом в C++. Надо записать в smallfile.dat небольшую структуру, содержащую в себе поля...

Результат не записывается в файл
#include &quot;studide.h&quot; int main() { ofstream fout(&quot;cpp.txt&quot;); setlocale(LC_CTYPE, &quot;rus&quot;); cout &lt;&lt; &quot;Введите цифру:\n&quot;; string...

Не записывается в файл строка
Не могу понять, в чем проблема? Чтение из файла проходит успешно, а вот запись - нет. Мне нужно не перезаписать файл, а добавить в него...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru