Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 03.04.2015
Сообщений: 8
1

Вместо текстового файла бинарный

03.12.2016, 03:14. Показов 805. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Нужно составить две программы. Первая должна формировать двоичный файл с числами. Вторая - считать данные из двоичного файла, сформировать два массива с четными и нечетными числами соответственно. И потом записать эти массивы в текстовый файл. Я все это сделал, но при открытии в блокноте пишет что этот файл бинарный. Помогите найти ошибку, пожалуйста!

Первая программа
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
#include "stdafx.h"
#include <cstdlib>
#include <iostream>
#include <time.h>
 
using namespace std;
 
int main()
{
 FILE *f; int dat;
 srand(time(0));
 int n=rand()%30 + 1;
 cout << "File name? ";
 char s[20];
 cin.getline(s, 20);
 f=fopen(s, "wb");
 for (int i=1; i<=n; i++)
 { dat = rand()%101 - 50;
   cout << dat << " ";
   fwrite(&dat, sizeof(int), 1, f);
 }
 cout << endl;
 fclose(f);
    system("PAUSE");
    return EXIT_SUCCESS;
}
Вторая программа
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include "stdafx.h"
#include <cstdlib>
#include <iostream>
#include <windows.h>
 
using namespace std;
 
int main()
{
 FILE *f;
 int dat, n=0, sum=0, i=0, j=0;
 int arra[100], arrb[100];
 
 cout << "File name? ";
 char s[20];
 cin.getline(s, 20);
 f=fopen(s, "rb");
 while (fread(&dat, sizeof(int), 1, f))
       {n++;
        if (dat&1)
        {i++;
        arra[i]=dat;  
        cout << "arra["<<i<<"]="<<dat<< " ";
        }
        else
        {j++;
        arrb[j]=dat;  
        cout << "arrb["<<j<<"]="<<dat<< " ";
        }
        sum+=dat;
       }
 cout << endl;
 cout << "sum: " << sum << "; number: " << n << endl;
 fclose(f);
 
 FILE *file; 
 
 //cout << "File name? ";
 //char s[20];
 //cin.getline(s, 20);
 file=fopen("s.txt", "wt");
 for (int x=1; x<=i; x++)
 { 
     cout <<arra[x]<<" ";
   fwrite(&arra[x], sizeof(int), 1, file);
 }
 int x=1;
 arra[x] = '\0';
 fclose(file);
    system("PAUSE");
 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.12.2016, 03:14
Ответы с готовыми решениями:

Копирование из текстового файла в бинарный
Как скопировать структуру с данными записанную в текстовом файле, в бинарный файл. Буду...

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

Отобрать из текстового файла в бинарный информацию
Здравствуйте. Нужно отобрать из текстового файла в бинарный информацию. Пожалуйста, подскажите как...

Данные из текстового файла записать в бинарный файл
пытаюсь считать данные из текстового файла, записать их в бинарный файл. после пытаюсь считать из...

1
nd2
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
03.12.2016, 04:19 2
Цитата Сообщение от Renton80 Посмотреть сообщение
но при открытии в блокноте пишет что этот файл бинарный.
Цитата Сообщение от Renton80 Посмотреть сообщение
C++
1
2
3
4
5
6
file=fopen("s.txt", "wt");
 for (int x=1; x<=i; x++)
 { 
     cout <<arra[x]<<" ";
   fwrite(&arra[x], sizeof(int), 1, file);
 }
Если файл текстовый, то и зписывай текстовыми функциями, а не бинарными.
0
03.12.2016, 04:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.12.2016, 04:19
Помогаю со студенческими работами здесь

Из текстового файла считать матрицу и записать ее в бинарный файл
Прошу помочь с решением: Из текстового файла считать матрицу и записать ее в бинарный файл ...

Как записать в бинарный файл структуры записи из текстового файла?
Здравствуйте! Прошу помочь с чтением из текстового файла а затем запись всего что записано в...

Занести в бинарный файл h из текстового файла t целые числа, упорядоченные по возрастанию
Не получается..(((киньте идеи.. В текстовом файле t записаны целые числа, упорядоченные по...

Считать данные из текстового файла, переписать в бинарный, и вывести в виде выровненной таблицы
считываю из файла имя, фамилию, номер телефона и тип. необходимо переписать это в бинарный файл и...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru