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

Работа с файлами (считать очередь, вывести на экран, дополнить ее элементами и перезаписать в фай) - C++

Восстановить пароль Регистрация
 
Quzya
0 / 0 / 0
Регистрация: 27.03.2011
Сообщений: 19
04.06.2013, 23:26     Работа с файлами (считать очередь, вывести на экран, дополнить ее элементами и перезаписать в фай) #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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#include "stdafx.h"
#include <fstream>
#include <iostream> 
#define N 15
using namespace std; 
class situation{ };
template <class T>
 
class queue 
        {
            T * mas[N]; 
            public:
            int n;
                    queue(){n=0;}
                    ~queue(){ for(int i=0; i<n; i++) free(mas[i]); } 
    void add(T a) 
        {
            if(n>=N){
                throw situation();
                }
                mas[n]=new T; *mas[n++]=a; 
        }
        
    
    void del(int k) 
                {
                    if(k<n) { free(mas[k]); for(int i=k; i<n-1; i++) mas[i]=mas[i+1]; n--; }
                        else cout << " Element #"<<k<<" ne isnue!" << endl; 
                }
 
 
            void del1() 
                {
                     free(mas[n]); for(int i=n; i<n-1; i++) mas[i]=mas[i+1]; n--; 
        
                }
 
                    void print () {
                        FILE *pa;
    pa=fopen("D:\\oop\\l6read.txt", "a");
 
                    int i=0;
                    //fprintf(pa,"\n Nova 4epra: \n");
                        for( i=0; i<n; i++){
 
                                                    cout << *mas[i] << " "; 
                                                        fprintf(pa,"%c", *mas[i]);
                                                    //  fprintf(pa,", ");
                                                    
                        }
                        fclose(pa);
                                                        cout << endl;
                    
                        cout <<"Kilkitcb elementiv v 4ep3i = "<<n<<endl;}
                
        };
int main ()
    {
        queue <char> y; 
        
                char b=' ';
                cout << "\n Elementi 3 faila: \n";
            
                ifstream f("D:\\oop\\l6read.txt");
                int i=0;
                while (b!=';')
                { 
                    f >> b;
                    
                y.add(b);
                i++;
                cout<<b<<endl;
                } 
                
                y.del(y.n-1); 
 
 
        char a=' ';
        
    cout << "\n Vvedit  elementi: ";
                for(int i=0; i <100; i++)
                while (a!=';')
                try {
                 cin >> a;
                 y.add(a);
            
                }
                catch (situation){
                    cout <<"\n Cherha perepovnena!"<< endl;
                                
} 
                
                cout << "\n Vyluchaemo octanui element: ";
                
 
 
                cout << "\n Nova cherha: ";
                y.print();
            
                
system("pause");
            return 0;
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2013, 23:26     Работа с файлами (считать очередь, вывести на экран, дополнить ее элементами и перезаписать в фай)
Посмотрите здесь:

Работа с файлами. Вывести бинарный код файла на экран в Visual C++ C++
Считать структуры из массива и вывести на экран C++
Структуры. Очередь (вывести на экран фамилию человека,где номер телефона введен с клавиатуры) C++
C++ Вывести на экран два массива, элементами первого являются элементы, меньшие заданного значения, элементами второго - большие заданного значения
C++ Считать из файла и вывести на экран
Работа с файлами(открыть файл, считать данные в double массив) C++
C++ Вывести очередь на экран
Создать массив, элементами которого являются *. Вывести на экран C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.06.2013, 23:41     Работа с файлами (считать очередь, вывести на экран, дополнить ее элементами и перезаписать в фай) #2
Цитата Сообщение от Quzya Посмотреть сообщение
Помогите чтоб, содержимое удалялось старое.
Открывайте файл для записи (если С, то"w", если С++, то ios::out), тогда содержимое удалится.
Yandex
Объявления
04.06.2013, 23:41     Работа с файлами (считать очередь, вывести на экран, дополнить ее элементами и перезаписать в фай)
Ответ Создать тему
Опции темы

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