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

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

Восстановить пароль Регистрация
 
sevatsimbalisty
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 19
12.12.2012, 02: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
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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2012, 02:35     В начало двоичного файла целого типа дописать нечетные элементы этого файла
Посмотрите здесь:

Чтени из двоичного файла C++
C++ Дописать символ в начало файла
C++ Считывание с двоичного файла
C++ чтение двоичного файла
C++ Создание двоичного файла на С++
использование двоичного файла C++
C++ Запись двоичного файла
C++ Считывание из двоичного файла
В начало бинарного файла целого типа нужно дописать его минимальное значение, а в конец максимальное C++
C++ Позиционирование в потоке, переставить все нулевые элементы в начало файла
Поставить в начало массива все четные элементы, а конец – все нечетные C++
Заменить элементы главной диагонали элементами целого типа C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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