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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
DarthNamik
 Аватар для DarthNamik
2 / 2 / 0
Регистрация: 01.03.2010
Сообщений: 18
03.07.2011, 19:35     В конец целочисленного двоичного файла дописать нечетные значения, содержащиеся в другом целочисленном текстовом файле #1
Дано такое задание:
Дописывание в файл. В конец целочисленного двоичного файла дописать нечетные значения, содержащиеся в другом целочисленном текстовом файле. Итоговый файл должен иметь строго двоичный формат.

Вот что получилось у меня по ходу решения!

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
#define t 1024        
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <iostream.h>
#include <fstream.h>
 
main(){
int i;
int n;
char *buffer;
char a[t];
int d[t]={0};
FILE *INPUT= fopen("D:\INPUT.txt","r");
 
if (INPUT == NULL){
 printf("File not found!\n");
 getch();
 exit(0);
}
n=1;
FILE* f = fopen("D:\OUTPUT.dat", "wb"); 
 while(!feof(INPUT)){ 
  fgets(a,n,INPUT);
  d[n]=(int)a;
  printf("elem[%d] = %d\n",n,d[n]);
  if((d[n]%2)!=0){
       fprintf(f,"%d \n",d[n]);
    } 
  n++;
 }
 
fclose(INPUT);
fclose(f);
getch();
}
Код рабочий, но в файл записывается совсем не то что нужно!
Как по мне ошибка в строке d[n]=(int)a;
Подскажите кто знается как переделать!! Буду признателен очень!!

Добавлено через 7 минут
Хоть какие то домыслы???
Я не пойму почему оно так делает

Добавлено через 12 минут
Если не знает никто, то сбросьте литературу НОРМАЛЬНУЮ по Файлам(бинарным и текстовым).
....
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.07.2011, 19:35     В конец целочисленного двоичного файла дописать нечетные значения, содержащиеся в другом целочисленном текстовом файле
Посмотрите здесь:

Содержащиеся в файле числа выделить и записать в новый файл C++
C++ В текстовом файле найти самые длинные и самые короткие слова и удалить их из файла.
C++ В заданном текстовом файле подсчитать частоту использования каждого слова из словаря (другого текстового файла).
В целочисленном массиве из 10 элементов найти максимальный элемент и заменить все элементы, значения которых нечетные на полученное значение максималь C++
Обработка элементов файла.Каждый отрицательный элемент в файле заменить результатом его целочисленного деления на 3 C++
C++ Вывести все содержащиеся в массиве нечетные числа в порядке возрастания их индексов
В начало бинарного файла целого типа нужно дописать его минимальное значение, а в конец максимальное C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Питекантроп
 Аватар для Питекантроп
246 / 140 / 6
Регистрация: 14.06.2010
Сообщений: 340
03.07.2011, 22:04     В конец целочисленного двоичного файла дописать нечетные значения, содержащиеся в другом целочисленном текстовом файле #2
Цитата Сообщение от DarthNamik Посмотреть сообщение
d[n]=(int)a
В d[n] здесь записывается указатель на массив а. Чтоб писалось значение с массива d[n]=(int)a[0]. Кроме того, операцию % можно проводить и сhar, поэтому не обязательно преобразовывать в int.

Цитата Сообщение от DarthNamik Посмотреть сообщение
fprintf(f,"%d \n",d[n]);
Это же вы текст пишете. Двоичное пишите через fwrite, например.
DarthNamik
 Аватар для DarthNamik
2 / 2 / 0
Регистрация: 01.03.2010
Сообщений: 18
03.07.2011, 23:30  [ТС]     В конец целочисленного двоичного файла дописать нечетные значения, содержащиеся в другом целочисленном текстовом файле #3
Пробовал и так, но не выводится нужный результат ввожу:
11
12
А в массиве d[n] совсем другие значения!(0,49,50)...
Проблема как раз только в этом, не могу от А в d[n] перевести!!!
Питекантроп
 Аватар для Питекантроп
246 / 140 / 6
Регистрация: 14.06.2010
Сообщений: 340
04.07.2011, 02:22     В конец целочисленного двоичного файла дописать нечетные значения, содержащиеся в другом целочисленном текстовом файле #4
Цитата Сообщение от DarthNamik Посмотреть сообщение
fgets(a,n,INPUT);
а здесь же вы считываете n символов, а нужно же по одному, так?
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
04.07.2011, 04:46     В конец целочисленного двоичного файла дописать нечетные значения, содержащиеся в другом целочисленном текстовом файле #5
C++
1
d[n]=(int)a[0] - '0';  //приводи к числу из - ASCII
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
04.07.2011, 10:51     В конец целочисленного двоичного файла дописать нечетные значения, содержащиеся в другом целочисленном текстовом файле #6
Цитата Сообщение от DarthNamik
Код рабочий, но в файл записывается совсем не то что нужно!
неправильно передаются пути к файлам
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.07.2011, 23:06     В конец целочисленного двоичного файла дописать нечетные значения, содержащиеся в другом целочисленном текстовом файле
Еще ссылки по теме:

C++ Скопировать содержимое одного файла в любое место в другом файле
Как одному классу узнать о другом в другом файле, если они не имеют общего наследования C++
C++ Поиск значения переменной в текстовом файле на сервере
C++ Не могу считать из файла. Объект класса Medicament в текстовом файле
C++ Есть числа в файле. Дописать в него 0 и вычислить минимальное число с файла

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

Или воспользуйтесь поиском по форуму:
DarthNamik
 Аватар для DarthNamik
2 / 2 / 0
Регистрация: 01.03.2010
Сообщений: 18
04.07.2011, 23:06  [ТС]     В конец целочисленного двоичного файла дописать нечетные значения, содержащиеся в другом целочисленном текстовом файле #7
Всем спасибо, разобрался сам c вводом и выводом(с бинарными и текстовыми файлами)!!!
=>
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
#define t 1024        
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <iostream.h>
#include <fstream.h>
 
main(){
int i;
int n;
char a[t];
char *buff;
int zap;
int d[t]={0};
FILE *INPUT= fopen("INPUT.txt","r");
 
if (INPUT == NULL){
 printf("File not found!\n");
 getch();
 exit(0);
};
 
FILE *out= fopen("O.bin","w");
if (out == NULL){
 printf("Error open output file !\n");
 getch();
 exit(0);
};
 
 
n=0;
 while(!feof(INPUT)){ 
  fscanf(INPUT, "%d", &zap);
  printf("%d %d\n",n, zap);
  fwrite(&zap,4,1,out);
  n++;
 }
 
fclose(INPUT);
//fclose(f);
//getch();
}
Yandex
Объявления
04.07.2011, 23:06     В конец целочисленного двоичного файла дописать нечетные значения, содержащиеся в другом целочисленном текстовом файле
Ответ Создать тему
Опции темы

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