|
0 / 0 / 1
Регистрация: 01.04.2016
Сообщений: 76
|
||||||
Запись структуры в файл, чтение из файла и удаление (файловый ввод/вывод)01.12.2016, 17:00. Показов 12545. Ответов 80
Метки нет (Все метки)
Добрый вечер! Возникла такая проблема, что при добавлении записи, удаляются уже имеющиеся записи в файле.
Также не помешала бы помощь в вопросе удаления записи, с указанным возрастом. Ну и вывод всего содержимого в файле. Спасибо, за помощь.
0
|
||||||
| 01.12.2016, 17:00 | |
|
Ответы с готовыми решениями:
80
Чтение из файла STL (файловый ввод/вывод)
|
|
0 / 0 / 1
Регистрация: 01.04.2016
Сообщений: 76
|
|
| 02.12.2016, 23:11 [ТС] | |
|
0
|
|
|
Модератор
|
|
| 02.12.2016, 23:13 | |
|
georgiisav988, я хотел сделать, чтобы прога удаляла все записи по выбранному критерию, а она удаляет только первую найденную запись, удовлетворяющую заданному условию - это раз. И если выбираем удалять по заданному возрасту (скажем, всех людей, у которых возраст равен 24), то он удаляет первую запись с таким возрастом, а в остальных почему-то возраст меняет, прибавляя единицу - где-то вкралась ошибка, никак найти её не могу.
А по одной записи если удалять, то вроде норм работает.
1
|
|
|
0 / 0 / 1
Регистрация: 01.04.2016
Сообщений: 76
|
|
| 02.12.2016, 23:20 [ТС] | |
|
Т.е. надо удалить одну запись, потом перезапустить и выбрать еще раз?
Добавлено через 4 минуты Можно еще одну просьбу. Можешь объяснить кратко или подробно. Что для чего?!Если не сложно.
0
|
|
|
Модератор
|
|
| 03.12.2016, 16:21 | |
|
georgiisav988, как-то очень тяжко всё идёт. Попытался то, что есть разбить на отдельные функции и файлы - взорвал себе мозг появлением новых ошибок. Продолжаю грызть гранит. У меня сильное подозрение, что всё это решается в две строчки, но поскольку я нуб, то как у всех нубов моя основная проблема - нехватка нужных знаний и, как следствие, чудовищный overengineering.
1
|
|
|
Модератор
|
|||||||||||||||||||||
| 03.12.2016, 16:39 | |||||||||||||||||||||
|
Person.h
Person.cpp
my_functions.h
main.cpp
Благодаря ребятам я решил проблему с вводом в массив данных разного типа, но теперь появились новые ошибки - где-то я чего-то упускаю, почему-то данные с консоли я ввожу, но массив (вектор) остаётся пустой и при выводе на консоль выводятся значения по умолчанию. У меня уже глаз дёргается.
1
|
|||||||||||||||||||||
|
Модератор
|
|||||||
| 03.12.2016, 17:45 | |||||||
|
Коллега Mr.X напомнил про банальную перегрузку функций. Она у меня просто вылетела из головы. Теперь вот эту часть можно чуть-чуть упростить:
my_functions.h
Добавлено через 10 минут Добавлено через 5 минут Ну и да, пока этот кот1 не очень жизнеспособный. Но я над ним работаю. ________________________ 1семиногий трёхглазый кот с двумя головами, крыльями, ослиным хвостом, человеческими руками (обе левые) и драконьим гребнем на спине
1
|
|||||||
|
Модератор
|
|||||||||||||||||||||
| 03.12.2016, 17:46 | |||||||||||||||||||||
|
georgiisav988, нашёл ошибку. Вот пока что последняя версия:
Person.h
Person.cpp
my_functions.h
main.cpp
1
|
|||||||||||||||||||||
| 03.12.2016, 17:56 | |
|
0
|
|
|
Модератор
|
|
| 03.12.2016, 18:13 | |
|
DrOffset, а надо как? Исключения ловить?
Добавлено через 1 минуту DrOffset, я думаю у ТСа и так глаза уже на лоб вылезли от обилия всего - шаблоны, лябмды, range-based-for, перегруженные функции, STL... Добавлено через 1 минуту DrOffset, как бы всё это сделать проще и чище?
1
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||
| 03.12.2016, 19:36 | ||
exit не вижу.Конкретно exit опасен тем, что при его использовании не будут вызваны деструкторы всех уже созданных автоматических объектов. В учебных задачах - это вообще не страшно, но потом наученные таким образом товарищи приходят работать и пишут точно так же. Во-первых не все ресурсы процесс сможет при таком выходе отдать операционной системе (да, память и файловые дескрипторы будут отданы, но не ими едиными), во-вторых совершенно не всегда нужно\возможно делать такой бескомпромиссный выход, да еще и с потерей контекста ошибки.
2
|
||
|
0 / 0 / 1
Регистрация: 01.04.2016
Сообщений: 76
|
|
| 03.12.2016, 19:37 [ТС] | |
|
Спасибо большое. Но я новичок совсем, и смотрю сейчас и не понимаю, что и как мне засунуть в проект?
0
|
|
|
Модератор
|
|||||||||||||||||||||
| 03.12.2016, 20:16 | |||||||||||||||||||||
|
georgiisav988, ахахахаха, я это сделал!
Person.h
Person.cpp
my_functions.h
main.cpp
1
|
|||||||||||||||||||||
|
Модератор
|
||
| 03.12.2016, 20:45 | ||
|
Добавлено через 27 минут Обычно так делают: создают консольный проект (консольное приложение). Там всего один файл c функцией main(). Потом выбираешь в меню "Добавить новый файл" (чтобы добавить новый заголовочный файл, например вот как у меня my_functions.h) или "Добавить новый класс". Вот как добавить новый класс в QtCreator, например.
1
|
||
|
0 / 0 / 1
Регистрация: 01.04.2016
Сообщений: 76
|
|
| 03.12.2016, 21:16 [ТС] | |
|
Visual 2015
0
|
|
|
Модератор
|
|
| 03.12.2016, 22:50 | |
|
georgiisav988, вот, сделал краткое руководство в картинках:
1
|
|
|
0 / 0 / 1
Регистрация: 01.04.2016
Сообщений: 76
|
|
| 03.12.2016, 23:17 [ТС] | |
|
Такой вопрос еще.
Если записи добавлены уже в файл, то удалить из файла запись нет возможности? Просто завтра буду просматривать код.
0
|
|
|
Модератор
|
||||||
| 03.12.2016, 23:20 | ||||||
|
georgiisav988, в секции main смотри 38 и 39 строки кода:
delete_chosen_data_from_array, а потом этот изменённый массив пишешь в файл с помощью функции copy_data_to_file. Так что всё там нормально удаляется.
1
|
||||||
| 03.12.2016, 23:20 | |
|
Считать данные из текстового файла по условию и записать их в другой текстовый файл (файловый ввод/вывод) Структуры.Файловый ввод вывод в С++
структуры. файловый ввод-вывод. Для каждой строки файла удалить среднее слово; результат записать в файл (файловый ввод/вывод) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг.
Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует.
В процессе разработки. . .
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|