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

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

Войти
Регистрация
Восстановить пароль
 
freezz
Сообщений: n/a
#1

В начало двоичного файла целого типа дописать нечетные элементы этого файла. - C++

29.11.2011, 22:43. Просмотров 926. Ответов 3
Метки нет (Все метки)

Вот прога для записи четных файлов...в конец
Мне нужно в начало....нечетные...помогите разобраться как сделать!!!

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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <time.h>
 
using namespace std;
 
int main()
{ int a;
    srand((unsigned int)time(0));
    {
        cout << "Writing to file:" << endl;
        ofstream out("numbers.bin",ios::binary);
        for (int i = 0; i < 10; i++)
        {
            int number = rand()%9;
            out.write((const char*)&number,sizeof(int));
            cout << number << " ";
        }
        cout << endl;
    }
 
    {
 
    fstream in_out("numbers.bin",ios::binary|ios::in|ios::out);
    if (!in_out)
    {
        cout << "error! opening numbers.bin!" << endl;
        return 0;
    }
 
    in_out.seekg(0,ios::end);
    int numNumbers = in_out.tellg()/sizeof(int);
    if (!numNumbers)
    {
        cout << "error! no numbers!" << endl;
    }
 
    cout << "Read from file:" << endl;
    int lastPos = numNumbers;
    for (int j = 0; j < numNumbers; j++)
    {
        int n;
        in_out.seekg(j*sizeof(int),ios::beg);
        in_out.read((char*)&n,sizeof(int));
        cout << n << " ";
        if ((n%2) == 0)
        {
            in_out.seekp(lastPos*sizeof(int),ios::beg);
            in_out.write((const char*)&n,sizeof(int));
            lastPos++;
        }
    }
    cout << endl;
    
    }
 
    ifstream f("numbers.bin",ios_base::binary);
    f.seekg(0,ios::end);
    int numNumbers = f.tellg()/sizeof(int);
    if (!numNumbers)
    {
        cout << "error! no numbers!" << endl;
    }
    f.seekg(0,ios::beg);
    cout << "File test after writing even numbers at the end:" << endl;
    for (int j = 0; j < numNumbers; j++)
    {
        int number;
        f.read((char*)&number,sizeof(int));
        cout << number << " ";
    }
    cout << endl;
cin >>a;
    return 0;
}
Добавлено через 21 минуту
ios::end я так понял нужно заменить на ios::beg....для вставки в начало списка...

Добавлено через 40 минут
пацаны...срочно нужно!!

Добавлено через 1 час 8 минут
для нечетного if ((n%2) == 0) меняем на if ((n%2) != 0)...
кто с началом списка помочь может???есть хоть кто то разбирающийся
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2011, 22:43     В начало двоичного файла целого типа дописать нечетные элементы этого файла.
Посмотрите здесь:

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

Дописать символ в начало файла - C++
Добрый день подскажите плиз что не так уже голова распухла #include&lt;fstream&gt; #include&lt;iostream&gt; using namespace std; void...

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

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

Заменить элементы главной диагонали элементами целого типа - C++
Найдите произведение всех положительных элементов матрицы размером 4x4, состоящей из элементов целого типа и замените им элементы главной...

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

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

Чтение двоичного файла - C++
Есть файл, без типа,просто файл. Содержит набор чисел (размером по 4 б - int ) нужно его прочитать. Пишу: FILE *fp; if ((fp =...

Использование двоичного файла - C++
Подскажите, пожалуйста, что такое двоичные файлы, и с чем их едят?) и как с помощью их можно реализовать хранение данных? а то я в...

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

Создание двоичного файла на С++ - C++
Здравствуйте. Помогите в решении проблемы. На С++. Создать и заполнить двоичный файл. Слова в двоичном файле хранятся в массивах ...

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4820 / 3240 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
30.11.2011, 14:35     В начало двоичного файла целого типа дописать нечетные элементы этого файла. #2
не бывает файлов целого типа
не бывает чётных файлов
чтобы дописать что-то в начало файла, его нужно полностью переписать с помощью временного файла
freezz
Сообщений: n/a
30.11.2011, 16:04     В начало двоичного файла целого типа дописать нечетные элементы этого файла. #3
ну так это я и пытаюсь узнать...КАК???
accept
4820 / 3240 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
30.11.2011, 16:45     В начало двоичного файла целого типа дописать нечетные элементы этого файла. #4
открой исходный файл
открой временный файл
читай элементы из исходного
записывай во временный нечётные элементы
перемотай исходный файл
читай элементы из исходного
записывай во временный все элементы
закрой исходный файл, открой его на запись
перемотай временный файл
перепиши всё из временного в исходный
(временный файл можно сохранить на диске
если программа выключится в середине, данные потеряются)
Yandex
Объявления
30.11.2011, 16:45     В начало двоичного файла целого типа дописать нечетные элементы этого файла.
Ответ Создать тему
Опции темы

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