Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
butoxors1
0 / 0 / 2
Регистрация: 21.05.2013
Сообщений: 26
1

Поиск и замена поля структуры в файле

14.06.2014, 19:20. Просмотров 629. Ответов 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
fstream f1(filename,ios::in);
            fstream f2("new",ios::out|ios::trunc);
            cout<<"Введите назначение склада для замены : ";
            cin>>poisk;
            fstream f2("new",ios::out|ios::app);
            while(!f1.eof()){
 
                f1.read((char*)&sclad,sizeof(SCLAD));
 
                if(strcmp(sclad.sclad,poisk)==0){
                    cout<<"Найдено совпадение!"<<endl;
                    cout<<sclad.sclad<<"\t\t"<<sclad.massa<<'\t'<<sclad.norma<<endl;
                    cout<<"_____________________________________________________________"<<endl;
                    cout<<"Заменить данные? 0-нет, 1-да : ";
                    cin>>l;
                    if(l==1){
                        cout<<"Введите данные для замены : "<<endl;
                        cout << "Введите Назначение склада: ";
                        cin >> sclad.sclad;
                        cout << "Введите массу продукции: ";
                        cin >> sclad.massa;
                        cout << "Введите норму складских запасов: ";
                        cin >> sclad.norma;
                        cout<<"1 действие"<<endl;
                        f2.write((char*)&sclad,sizeof(SCLAD));
                    }
                    else
                        f2.write((char*)&sclad,sizeof(SCLAD));
                }
                else
                        f2.write((char*)&sclad,sizeof(SCLAD));
            }f1.close();f2.close();
Жду ваших предложений...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.06.2014, 19:20
Ответы с готовыми решениями:

Поиск и замена символов в файле
Добрый вечер(день)! Пытаюсь разобраться с задачей, есть файл в нем нужно найти...

Поиск и замена текста в файле
Добрый день. Хочу попробовать написать программу, которая будет выполнять поиск...

Поиск структуры в файле и её вывод на консоль
Задание имеет следующее содержание: &quot;Написать программу для обработки...

Поиск, замена, удаление в текстовом файле
Добрый день. У меня есть текстовый файл с информацией(типа: № Имя Фамилия). ...

Поиск и замена/удаление в текстовом файле
Есть функция осуществляющая поиск в файле, по элементам считанных структур....

3
dzrkot
zzzZZZ...
523 / 354 / 94
Регистрация: 11.09.2013
Сообщений: 2,039
14.06.2014, 19:30 2
Цитата Сообщение от butoxors1 Посмотреть сообщение
ios::app
данные будут записывааться строго в конце файла

ну можно с помощью seekg/seekp параллельно идти по файлу и считывать, в случаю если считанная структура искомая - то переписываем её

но я всегда такие вещи делал считыванием файла целиком и обработкой данных в каком-либо контейнере - сортировка и т.п. , но это ресурсозатратнее. Если необходимо только удлаить запись то лучше сделать как я написал выше
0
butoxors1
0 / 0 / 2
Регистрация: 21.05.2013
Сообщений: 26
14.06.2014, 19:57  [ТС] 3
ну а если делать через ваш способ, то как примерно будет выглядеть код?
0
dzrkot
zzzZZZ...
523 / 354 / 94
Регистрация: 11.09.2013
Сообщений: 2,039
14.06.2014, 23:09 4
Цитата Сообщение от butoxors1 Посмотреть сообщение
ну а если делать через ваш способ, то как примерно будет выглядеть код?
создаём контейнер(да или обычный массив) структур с возможностью произвольного доступа, записываем туда файл, ищем в файле структуру, меняем соотв ячейку на нашу новую, перезаписывает в файл, всё
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.06.2014, 23:09

Поиск слова в файле и его замена
Не могу никак решить одну проблему. Мне осталось в 3 классе написать следующее:...

Поиск и замена слов в файле txt
Как заменить и найти слова в файле txt на С++. То есть есть файл вот такой...

Поиск, считывание и замена символов в файле [C++]
И снова здраствуйте! Нужно, чтобы программа находила в файле число от 0 до...


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

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

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