Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
#1

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

25.03.2012, 17:21. Просмотров 737. Ответов 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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2012, 17:21     Не записывается бинарный файл:(
Посмотрите здесь:

Не записывается строка в файл - C++
Не записывается строка в файл в чем может быть причина ? fstream f(&quot;work_mem.txt&quot;, ios::in | ios::out);// ...

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

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

В файл записывается мусор - C++
Добрый вечер! Почему при записи в бинарный файл, в файл записывается мусор и соответственно читается из него тоже мусор? #define...

Результат не записывается в файл - C++
#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...

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

Записывается мусор в файл - C++
Здравствуйте, есть следующий код для вывода дефолтных значений в файл: #include &lt;iostream&gt; #include &lt;fstream&gt; using namespace...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
25.03.2012, 17:24     Не записывается бинарный файл:( #2
ну так и читайте их из текстового файла, зачем там fread???
retmas
Жарю без масла
859 / 741 / 164
Регистрация: 13.01.2012
Сообщений: 1,694
25.03.2012, 17:35     Не записывается бинарный файл:( #3
Цитата Сообщение от 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]); }
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
25.03.2012, 17:47  [ТС]     Не записывается бинарный файл:( #4
Не записывается бинарно
retmas
Жарю без масла
859 / 741 / 164
Регистрация: 13.01.2012
Сообщений: 1,694
25.03.2012, 17:59     Не записывается бинарный файл:( #5
выйдете из танка и прочитайте, что вам писали
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
25.03.2012, 17:59     Не записывается бинарный файл:( #6
ТС вылезай из танка, читать из текстового нужно не посредством 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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2012, 18:18     Не записывается бинарный файл:(
Еще ссылки по теме:

Неправильно записывается символ в файл - C++
ПОМОГИТЕ КТО ЧЕМ МОЖЕТ!!! Зашифровал значит текст.Дальше его расшифровую.Расшифровал Получил ASCII код символа.Пишу что-то типа: int...

Не всё записывается в файл. Ничего не понимаю - C++
Здравствуйте. У меня появилась такая проблема: нужно записать в один файл данные из двух функций. Казалось бы, что ничего сложного. Но вот...

Не записывается буквы верхнего регистра в файл - C++
Здравствуйте! Почему буквы верхнего регистра не сохраняется на файл, нижние сохраняется. void main() { fstream FILE; ...

В файл записывается только последнее значение - C++
Есть программка которая записывает результат в файл. Что нужно изменить чтобы в файле оставались всё результаты, а не только последний? ...

В файл записывается мусор. Подкорректировать код - C++
Нужна помощь! В общем организована БД со структурами и целый перечень функций, которые её обслуживают. Всё работало, но что как-то...


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

Или воспользуйтесь поиском по форуму:
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
25.03.2012, 18:18  [ТС]     Не записывается бинарный файл:( #7
C fscanf и впрям работает, вспомнила что ее я раньше использовала в одном проекте, как пришла к fread не понимаю, наверно по аналогии если fwrite - запись, то fread - чтение.
Yandex
Объявления
25.03.2012, 18:18     Не записывается бинарный файл:(
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru