0 / 0 / 0
Регистрация: 13.03.2015
Сообщений: 1
1

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

29.11.2011, 22:43. Показов 2507. Ответов 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)...
кто с началом списка помочь может???есть хоть кто то разбирающийся
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.11.2011, 22:43
Ответы с готовыми решениями:

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

Дописывание в файл. В конец целочисленного двоичного файла дописать нечетные значения
Дописывание в файл. В конец целочисленного двоичного файла дописать нечетные значения, содержащиеся...

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

Как в начало каждой строки каждого текстового файла в текущем каталоге вставить имя этого же файла?
Здравствуйте, подскажите пожалуйста как в текущем каталоге, в начало каждой строки каждого...

3
4857 / 3278 / 467
Регистрация: 10.12.2008
Сообщений: 10,570
30.11.2011, 14:35 2
не бывает файлов целого типа
не бывает чётных файлов
чтобы дописать что-то в начало файла, его нужно полностью переписать с помощью временного файла
0
0 / 0 / 0
Регистрация: 13.03.2015
Сообщений: 1
30.11.2011, 16:04 3
ну так это я и пытаюсь узнать...КАК???
0
4857 / 3278 / 467
Регистрация: 10.12.2008
Сообщений: 10,570
30.11.2011, 16:45 4
открой исходный файл
открой временный файл
читай элементы из исходного
записывай во временный нечётные элементы
перемотай исходный файл
читай элементы из исходного
записывай во временный все элементы
закрой исходный файл, открой его на запись
перемотай временный файл
перепиши всё из временного в исходный
(временный файл можно сохранить на диске
если программа выключится в середине, данные потеряются)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.11.2011, 16:45

Записать имя каждого текстового файла в начало каждой строки этого же файла (кодировка файлов — UTF-8)
Подскажите программу или батник. Проблема в том, что есть много TXT UTF-8 файлов, нужно взять имя...

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

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

Дописать файл наибольшим числом из этого же файла
Дописать файл из вещественных чисел наибольшим числом из этого же файла. Вывести содержимое...


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

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

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