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

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

Войти
Регистрация
Восстановить пароль
 
cj3687
2 / 2 / 0
Регистрация: 10.10.2013
Сообщений: 43
#1

Работа с двоичными файлами - C++

09.02.2014, 23:21. Просмотров 269. Ответов 2
Метки нет (Все метки)

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

CreateFile:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
int main()
{
FILE *f;
int i, n, a;
f=fopen("E\\111\\abc.data", "wb");
cout<<"n="; cin>>n;
for(i=0;i<n;i++)
{
cout<<"a="; cin>>a;
fwrite(&a,sizeof(int),1,f);
}
fclose(f);
return 0;
}

ReadFile:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
int main()
{
FILE *f;
int i,n, *a;
f=fopen("E:\\111\\abc.dat", "rb");
fread(&n,sizeof(int),1,f);
cout<<"n="<<n<<"\n";
a=new int[n];
fread(a,sizeof(int),n,f);
for(i=0;i<n;i++)
{
cout<<a[i]<<"\t";
}
cout<<endl;
fclose(f);
return 0;
}


P.S. Если не сложно, проверьте еще функцию, находящую группу поло-
жительных элементов наибольшей длины (т.е. максимальное число подряд идущих положительных элементов)

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int Count(char *fname)
{
    FILE *f;
    long i,n;
    int a,k1,k;
    k1=k=0;
    if ((f=fopen(fname,"rb"))==NULL)
      return 1;
    n=Size(fname)/sizeof(int);  
    for (i=0;i<n;i++)
    {
        while (a>0)
        {
          k1++;
        }
        if (k1>=k)
        k=k1;
    }
    return k;
        
}


Заранее спасибо)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2014, 23:21     Работа с двоичными файлами
Посмотрите здесь:

Работа с двоичными файлами - C++
Работа с двоичными файлами: Создать файл и записать в него степени числа 3. Вывести на экран все компоненты файла с четным порядковым...

Работа с двоичными файлами - C++
Всем привет.. пытаюсь понять один вопрос. допустим есть текстовый файл с таким содержанием я хочу эту информацию переписать в...

Работа с двоичными файлами - C++
Создать файл,состоящий из n вещественных чисел. Вывести на экран все числа данного файла не попадающие в данный диапазон!!!

Работа с двоичными файлами - C++
Создать файл, состоящий из n вещественных чисел. Вывести на экран все числа данного файла с четными порядковыми номерами, меньшие заданного...

Работа с двоичными файлами - C++
У меня есть кусок программы, который мне нужно переписать: #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;cstdlib&gt; #include...

Работа с двоичными файлами - C++
Необходимо реализовать функцию чтения и записи небольших файлов в оперативную память (стек программы). Правильно ли я понимаю, что...

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

Переделать работу с текстовыми файлами под работу с двоичными файлами - C++
Здравствуйте. В этой программе идёт работа с текстовыми файлами, а нужно с двоичными. Можно ли как-то переделать? #include...

Работа с файлами. - C++
Даны два файла f1 и f2. Файл f1 - это инвентарный файл, содержащий сведения о том, сколько изделий каких видов продукции хранится на складе...

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Stella
75 / 75 / 5
Регистрация: 26.02.2013
Сообщений: 224
09.02.2014, 23:34     Работа с двоичными файлами #2
cj3687, в первой программе вы размер массива не записали в файл:
C++
1
fwrite(&n,sizeof(int),1,f);
во второй программе кажется так (там n пропущено):
C++
1
fread(a,n*sizeof(int),n,f);
cj3687
2 / 2 / 0
Регистрация: 10.10.2013
Сообщений: 43
10.02.2014, 22:46  [ТС]     Работа с двоичными файлами #3
Да, спасибо!))
Yandex
Объявления
10.02.2014, 22:46     Работа с двоичными файлами
Ответ Создать тему
Опции темы

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