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

Удаление из текстового файла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Иероглифы после CharToOemA http://www.cyberforum.ru/cpp-beginners/thread884771.html
Подскажите, почему после казалось бы простейшей операции в "buf" оказываются каракули? setllocale вроде не помагает .... Каракули я вижу в дебагере и если просто выводить в окошко в WinApi...
C++ Решение транспортной задачи с промежуточными перевозками для нахождения оптимальной конфигурации электрической сети Исходные данные для траспортной задачи с промежуточными перевозками Задаются: Конфигурация сети вида: Мощности пунктов: P2=0,6 Ое P3=0,3 Ое P4=1,5 Ое Мощность электростанции(пункт... http://www.cyberforum.ru/cpp-beginners/thread884758.html
C++ Чтение данных из файла
1. Дан файл с именами людей, датами рождения и смерти. Прочитать данные из файла и поместить их в структуру данных, которая будет выглядеть как "Имя человека" tab "дата рождения" tab "дата...
C++ функция с прототипом int (string, string)
В файле USAPresidendid.txt приведены данные о бывших президентах США: имя, время нахождения на посту президента, дата рождения, дата смерти. Даты даны в формате mm/dd/yyyy. Если президент живой, то...
C++ Microsoft Visual studio 2012 (как включить подсказки?) http://www.cyberforum.ru/cpp-beginners/thread884727.html
как включить подсказки. Например если я ставлю { чтоби она автоматически закривалась } что бы когда я написал оператор for автоматически визивалься конструктор етого оператора. Так как в X cod. мне...
C++ Замена (printf на cout) Как заменить здесь использование printf на cout (программа с битовыми полями) void printbin(int x) { int i = 16; while(i) { printf("%d", (x & 0x8000) >> 15); i--; ... подробнее

Показать сообщение отдельно
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.05.2013, 21:43
Открытие файла для чтения нужно, конечно, проверять. Попробуйте этот:
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
#include <iostream>
#include <fstream>
using namespace std;
 
struct workers
{
    unsigned int id;
    char name[256];
    char lastname[256];
    char qualification[256];
};
 
int main()
{
    setlocale(0, "");
    
    fstream f("workers.txt");
    if (!f.is_open()) cout << "Ошибка при открытии файла workers.txt!" << endl;
    else
    {
        fstream p("workers2.txt", ios::out);
        while (true)
        {
            unsigned int a;
            cout << "Введите id рабочего для удаления ";
            cin >> a;
            int flag = 0;
            while(true)
            {
                workers worker;
                f >> worker.id;
                if (f.eof()) break;
                f >> worker.name;
                f >> worker.lastname;
                f >> worker.qualification;
        
                if(a != worker.id)
                {
                    p << worker.id << endl;
                    p << worker.name << endl;
                    p << worker.lastname << endl;
                    p << worker.qualification << endl;
                }
                else flag = 1;
             }
        
            if (flag == 0) 
            {
                cout << "Такого рабочего нет! Повторить (y/n)? : ";
                char ch;
                cin >> ch;
                if (ch == 'n')
                {
                    system("pause");
                    return 0;
                }
            
                f.clear();
                f.seekg(0);
                p.close();
                p.open("workers2.txt", ios::out);
            }
            else 
            {
                f.close();
                p.close();
                break;
            }
        }
    
        f.open("workers.txt", ios::out);    
        p.open("workers2.txt", ios::in);
        if (!p.is_open()) cout << "Ошибка при открытии файла workers2.txt!" << endl;
        else
        {
            while(true)
            {
                workers worker;
                p >> worker.id;
                if (p.eof()) break;
                p >> worker.name;
                p >> worker.lastname;
                p >> worker.qualification;
                f << worker.id << endl;
                f << worker.name << endl;
                f << worker.lastname << endl;
                f << worker.qualification << endl;
            }
            f.close();
            p.close();
        }
    }
 
    system("pause");
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru