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

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

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

программа чтения бинарных чисел из файла - C++

27.12.2010, 13:46. Просмотров 564. Ответов 0
Метки нет (Все метки)

Здравствуйте! Сегодня был зачет, я решил задачку, а препод сказал что её нужно переделать, т.е. использовать функцию FREAD. Я чет так и не понял как она работает, помогите пожалуйста...
Вот собственно текст мого задания:
Программа интерпритирует произвольный входной файл как совокупность бинарных чисел типа integer, определяет количество таких величин в файле, читает их в динамический массив и выводит на экран сформированный массив.

Вот текст проги написанной мною:
Код
#include<stdio.h>
#include<alloc.h>
#include<conio.h>
int *allocate (long n) {
 return (int *) malloc(n*sizeof(int));
}

int pos(char c,char c1,char c2){


int r=c-'0';
if ( ( (c1-'0')>=0 ) && ( (c1-'0')<=9) )
 r=r*10+(c1-'0');
if ( ( (c2-'0')>=0 ) && ( (c2-'0')<=9) )
 r=r*10+(c2-'0');

return r;
}


void main(){
clrscr();
FILE *f;
int k=0;
char c;
f=fopen("zzz.txt","rb");

while (!feof(f)){
c=fgetc(f);    //fread(&n,sizeof(int),1,f);
 if ( ( (c-'0')>=0 ) && ( (c-'0')<=9) )
 {  pos(c,fgetc(f),fgetc(f)); k++;}
}
int *p=allocate(k);

fseek(f,0,SEEK_SET);
int i=0;
while (1) {
c=fgetc(f);
 if ( ( (c-'0')>=0 ) && ( (c-'0')<=9) )
  {  *(p+i)=pos(c,fgetc(f),fgetc(f)); i++;}

if (feof(f)) break;}
fclose(f);

for(i=0;i<k;i++)
printf("%d ",p[i]);
fflush(stdin);
getchar();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2010, 13:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос программа чтения бинарных чисел из файла (C++):

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

Программа вылетает при попытке чтения из файла в переменную - C++
Вот код #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;vector&gt; #include &lt;string&gt; using namespace std; int main (void) ...

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

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

Каким образом после чтения из файла, узнать позицию для чтения следующего куска байт - C++
Здравствуйте, задача такова есть файл, размером 1000 байт, нужно открыть его считать 100 байт, после чтения закрыть. Потом опять открыть...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.12.2010, 13:46
Привет! Вот еще темы с ответами:

Программа - калькулятор бинарных функций - C++
Нужно написать калькулятор бинарных Бинарные функции функций по вводимой к примеру строке A NOT B XOR C NAND D строил таблицу различных...

Почему так(комбинации бинарных и не бинарных вводов и выводов)? - C++
#include &lt;string&gt; #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;iomanip&gt; using namespace std; int main() { ...

Чтение бинарных данных из файла - C++
# include &lt;iostream&gt; # include &lt;vector&gt; # include &lt;fstream&gt; using namespace std; int main () {

Объединить два бинарных файла в один - C++
Даны два бинарных файла f1 и f2, компоненты которых - произвольные цепочки символов (компоненты упорядочены в алфавитном порядке). Написать...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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