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

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

Войти
Регистрация
Восстановить пароль
 
Vleind1
0 / 0 / 0
Регистрация: 24.12.2013
Сообщений: 4
#1

Вывод элементов бинарного файла на экран - C++

10.01.2014, 22:38. Просмотров 618. Ответов 5
Метки нет (Все метки)

После ввода на экран элементов файла, окно пропадает. Подскажите пожалуйста как вывести на экран элементы нового файла f1. Заранее спасибо.
ЛАЙК каждому ответившему)
Задание
Задан бинарный файл с отрицательными и положительными целые числа. Записать в другой бинарный файл сначала отрицательные элементы, а потом положительные.
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
53
54
55
56
57
#include <cstdlib>
#include <stdio.h>
#include <fstream>
#include <conio.h>
using namespace std;
int newnew()
{
    FILE *f;
    int size=20;
    int a[20];
    f=fopen("D:\\test.dat", "wb");//открываем бинарный файл для ввода
    for(int i = 0; i<size; ++i)
    {
            printf("%s%d%s\n","Enter element [",i,"]:");
            scanf("%d",&a[i]);//вводим  числа нашего будущего файла
            fwrite(&a[i], sizeof(int),1,f);//записываем в наш файл
    }
    fclose(f);
    return 0;
}
int outin()
{
    FILE *f;
    FILE *f1;
    int a[20];
    int size=20;
    int d=0;
    f = fopen("D:\\test.dat", "rb");
    if (f)
    {
        f1=fopen("D:\\test1.dat", "wb");
        while (fread(&a,sizeof(int), 1, f))//считуем числа с первого бинара
        {
            for(int i=0;i<size;i++)//пробежались по элементам
            {
                if(a[i]>0)
                 {
                   fwrite(&a, sizeof(int), 1, f1);//записываем во второй файл
                 }
                if(a[i]<0)
                 {
                   fwrite(&a, sizeof(int), 1, f1);//записывем во втрой  файл
                 }
                fclose(f);
                fclose(f1);
                
            }
        }
    }
    return 0;
}
int main()
{   
    newnew();
    outin();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2014, 22:38     Вывод элементов бинарного файла на экран
Посмотрите здесь:

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

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

Заполнение бинарного файла структурой и вывод его на экран - C++
мне нужно создать бинарник с заполненной структурой. вроде, заполняю правильно, а с выводом на экран не разобрался, да и как мне потом...

Неправильный вывод из бинарного файла - C++
#include&lt;iostream&gt; #include&lt;fstream&gt; #include&lt;stdio.h&gt; #include&lt;iomanip&gt; int main(){ std::cout&lt;&lt;&quot;PE Reader\n&quot;; ...

Вывод бинарного файла на консоль - C++
Имеется структура typedef struct { int n; char name; double price; int amountRealizedGoods; ...

Вывести массив на экран из бинарного файла - C++
2. Компоненты заданного бинарного файла – массивы, состоящие из 4 вещественных чисел каждый. Вывести на экран сумму вторых элементов всех...

вывод из файла на экран - C++
Добрый вечер! Что-то я никак не пойму. Нужно вывести числа из файла на экран по пять числа в строке. И никак не могу понять как это...

Вывод на экран содержимого файла - C++
Напишите программу, которая выводит на экран содержимое файла A:\numbers.txt. За ранние спасибо!

Вывод текста с файла на экран - C++
код таков FILE *f=fopen(&quot;c://test.txt&quot;, &quot;r&quot;); int c=getc(f); printf(&quot;%c&quot;, c); fclose(f); просто надо выввести текст...

Вывод структуры на экран из файла - C++
Помогите пожалуйста, нужно сделать вывод структуры из текстового файла с наибольшим критерием &quot;Значение итога работы&quot;. Вот данная...

Чтение из файла и вывод на экран - C++
Помогите разобраться: 1)Чтение из файла Программа должна выводить на экран данные сохраненные ею же в формате .txt, у меня не...

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.01.2014, 22:47     Вывод элементов бинарного файла на экран #2
Vleind1, вперемежку пишите отрицательные и положительные числа, а нужно: сначала все отрицательные, потом все положительные.
Tulosba
:)
Эксперт С++
4392 / 3235 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
10.01.2014, 22:48     Вывод элементов бинарного файла на экран #3
Цитата Сообщение от Vleind1 Посмотреть сообщение
окно пропадает.
добавьте "паузу" перед выходом например:
C++
1
std::system("pause"); // <cstdlib>
А по коду: не стоит поэлементно читать/писать в файл. Считайте сразу 20 чисел. Потом обрабатывайте.
К тому же, при чтении у Вас ошибка, массив реально не заполняется.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.01.2014, 22:53     Вывод элементов бинарного файла на экран #4
И чтение\запись неверно сделаны.

Добавлено через 2 минуты
Цитата Сообщение от Tulosba Посмотреть сообщение
не стоит поэлементно читать/писать в файл.
Можно и поэлементно.
Tulosba
:)
Эксперт С++
4392 / 3235 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
10.01.2014, 22:55     Вывод элементов бинарного файла на экран #5
Цитата Сообщение от alsav22 Посмотреть сообщение
Можно и поэлементно.
Можно, но...
Цитата Сообщение от Tulosba Посмотреть сообщение
не стоит
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.01.2014, 23:19     Вывод элементов бинарного файла на экран #6
Цитата Сообщение от Tulosba Посмотреть сообщение
Можно, но...
Даже спорить не хочется...
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
53
54
55
56
57
58
59
60
61
62
#include <cstdlib>
#include <stdio.h>
#include <conio.h>
 
const int size = 20;
 
int newnew()
{
    FILE *f;
    int a;
    f=fopen("D:\\test.dat", "wb");//открываем бинарный файл для ввода
    for(int i = 0; i<size; ++i)
    {
            printf("%s%d%s\n","Enter element [",i,"]:");
            scanf("%d",&a);//вводим  числа нашего будущего файла
            fwrite(&a, sizeof(int),1,f);//записываем в наш файл
    }
    fclose(f);
    return 0;
}
 
int outin()
{
    FILE *f;
    FILE *f1;
    int a;
    f = fopen("D:\\test.dat", "rb");
    if (f)
    {
        f1 = fopen("D:\\test1.dat", "wb");
        while (fread(&a, sizeof(int), 1, f))//считуем числа с первого бинара
        {
            if(a < 0)
                fwrite(&a, sizeof(int), 1, f1);//записывем во втрой  файл отрицательные числа
        }
        rewind(f);
        while (fread(&a, sizeof(int), 1, f)) //считуем числа с первого бинара
        {
            if(a > 0)
                fwrite(&a, sizeof(int), 1, f1); //записывем во втрой  файл положительные числа
        }
        fclose(f);
        fclose(f1);
 
    }
    return 0;
}
int main()
{   
    newnew();
    outin();
 
    FILE *f1;
    int a;
    f1 = fopen("D:\\test1.dat", "rb");
    while (fread(&a, sizeof(int), 1, f1))
        printf("%d ", a);
    
    getchar();
    getchar();
    return 0;
}
Yandex
Объявления
10.01.2014, 23:19     Вывод элементов бинарного файла на экран
Ответ Создать тему
Опции темы

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