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

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

Войти
Регистрация
Восстановить пароль
 
Vashtanerada
1 / 1 / 0
Регистрация: 29.11.2012
Сообщений: 142
#1

Запись в файл с заменой - C++

13.06.2014, 20:30. Просмотров 209. Ответов 0
Метки нет (Все метки)

Здравствуйте, уважаемые форумчане!!!
У меня к вам вот какой вопрос:
Есть программа записи данных в файл, нужно написать программу для замены записи на другую.
Вот текст основной программы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int main()
{
        setlocale(0,"rus");
 
    // Замена записей
    cout<<"<Запись с заменой>"<<endl;
    cout<<"Заменяем запись с полем 'Николай' на 'Наталья'"<<endl;
    worker s5("Николай","Программист",16);
    massiv ma4(10);
    massiv r(20);
    r.relBD("Николай",ma4,s5,"../worker.txt");
    return 0;
}
где relBD - функция замены записи:
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
void massiv::relBD(string srch, massiv& s, worker& x, string file)
    {
        int dl=find(srch, file);
        worker *c;
        int d=0;
        ifstream input("../worker.txt",ios::out);
        if(!input) cout<<"Файла не существует!"<<endl;
        else
        {
            int i=0;
            do
            {
                string age;
                string ii;
                int rr;
                input>>age;
                input>>ii;
                input>>rr;
                c=new worker(age, ii, rr);
                s.add(c);
                d++;
            }while(!input.eof());
            input.close();
 
            s.saveRelBD(dl,x,file);
 
        }
    }
здесь saveRelBD записывает данные в файл
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void massiv::saveRelBD(int dl, worker& x, string file)
    {
        cout<<"Запись файла с заменой"<<endl;
        ofstream output ("../worker.txt",ios::trunc); //Очищаем файл
        output.close();
        for(int i=0;i<length;i++)
        {
            if (i!=dl)
            {
                data[i]->save(file);
            }
            else
            {
                x.save(file);
            }
        }
    }
Функция find работает, и на экране выдает номер строки, которую нужно заменить, и заходит в функцию saveRelBD, но в файле дынные не изменяются.
Помогите разобраться в чем проблема.

Добавлено через 5 часов 4 минуты
Ошибка исправлена, спасибо за внимание
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2014, 20:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Запись в файл с заменой (C++):

Открыть существующий текстовый файл и копировать его в новый файл, с заменой всех букв нижнего регистра - C++
напишите программу, которая бы открывала существующий текстовый файл и копировала его в новый файл, с заменой всех букв нижнего регистра на...

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

Дан текстовый файл. Получить новый, образованный заменой всех строчных букв прописными - C++
Здравствуйте! Помогите, пожалуйста, составить программу в с++. Дан текстовый файл, получить новый, образованный заменой всех строчных букв...

Переписать в файл О все элементы файла К с заменой в них символа "0" на символ "1" и наоборот - C++
Помогите создать файл К,элементы которого являются символьными. Переписать в файл О все элементы файла К с заменой в нх символа 0 на символ...

Переписать в файл О все элементы файла К с заменой в них символа "0" на символ "1" и наоборот - C++
Помогите. Нужно создать файл К,элементы которого являются символами. Переписать в файл О все элементы файла К с заменой в них символа 0 на...

запись в файл. не создается файл - C++
#include &lt;graphics.h&gt; // vkljy4it' opisanie grafi4eskix fynkcij Ñ/Ñ++ Borland'ah #include&lt;stdio.h&gt; #include &lt;conio.h&gt; // opisanie...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.06.2014, 20:30
Привет! Вот еще темы с ответами:

Запись в файл - C++
Помогите пожалуйсто!Вот написал прогу: #define _WIN32_WINNT 0x0400 #include &quot;windows.h&quot; #include &lt;stdio.h&gt; #include &lt;conio.h&gt;...

Запись в файл - C++
Вот программа: #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;locale.h&gt; int i; int fact (int...

Запись в файл - C++
Мне нужно, чтобы данная программа вывела ответ в екселевский файл. Но почему то не выходит. Файл создал прям на диске &quot;С&quot; с названием...

Запись в файл - C++
Добрый день! Раньше используя такую запись, я открывал txt в студии и там все выводилось корректно, а сейчас выводятся иероглифы. ...


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

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

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