|
1 / 1 / 1
Регистрация: 01.07.2013
Сообщений: 127
|
|||||||||||
Чтение начиная с конца файла06.08.2013, 21:22. Показов 9989. Ответов 15
Метки нет (Все метки)
Всем добрый вечер! Программа создает самопальный класс список как в STL и пишет/ читает с файла Вот результат работы: . Считывать в обратном порядке, затем переворачивать не предлагайте. Помогите пожалуйста заставить ее читать символы в обратном порядке.
Пробовал вносить в функцию чтения такие изменения( помечены !! в коментариях) , но программа висла при запуске: Режим ios::ate почему то не работает
0
|
|||||||||||
| 06.08.2013, 21:22 | |
|
Ответы с готовыми решениями:
15
Чтение из файла с конца Чтение файла с несколькими знаками конца файла Чтение запросов до конца файла |
|
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|||||||||||
| 06.08.2013, 22:00 | |||||||||||
|
Перед очередным чтением, передвигайте курсор назад от текущего положения:
Добавлено через 16 минут И всегда проверяйте открытие файла для чтения, у вас, может быть, файл не открывается.
1
|
|||||||||||
|
1 / 1 / 1
Регистрация: 01.07.2013
Сообщений: 127
|
|
| 07.08.2013, 15:16 [ТС] | |
|
Пришел к выводу что так лучше не делать если данные записаны в символьном виде, т.к если элементы будут занимать разное количество символов невозможно будет посчитать смещение n. Так что взял попросту считал в временный массив а потом уже создал и заполнил список)
0
|
|
|
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|||
| 07.08.2013, 22:04 | |||
|
0
|
|||
|
1 / 1 / 1
Регистрация: 01.07.2013
Сообщений: 127
|
|||
| 07.08.2013, 22:27 [ТС] | |||
|
после записи в файл 4500 будет размером 4 символа, 56 в 2 символа и т.д. А при считывании задом наперед нужно знать размер всех элементов для правильного смещения указателя чтения. Поэтому считаю что лучше не читать форматированную запись задом наперед. В бинарном виде можно, всегда пожалуйста ! - размер мы знаем Добавлено через 2 минуты
0
|
|||
|
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
||||||
| 07.08.2013, 23:22 | ||||||
|
Если в файле int через пробел записаны, то можно так:
1
|
||||||
|
1 / 1 / 1
Регистрация: 01.07.2013
Сообщений: 127
|
|
| 08.08.2013, 00:11 [ТС] | |
|
Четко написано, для меня камнем преткновения как раз стало то что после чтения элемента неизвестного размера курсор смещался не известно на сколько. Не догадался хранить его позицию в переменной pcur = fin.tellg(), а так же выполнять проверку fin.peek() == ' '
Все понятно кроме 34 строки fin.seekg(-3, ios::end). Почему именно -3 на -2 тоже работает, а так же почему не работает на -1 ?
0
|
|
|
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|||
| 08.08.2013, 01:41 | |||
|
0
|
|||
|
39 / 27 / 12
Регистрация: 31.12.2013
Сообщений: 329
|
||||||
| 04.03.2014, 16:18 | ||||||
Но мне все равно не удается прочитать числа с конца файла ![]() Числа без пробелов. На каждой строке по одному числу :-) Type Float(int n =0 >> float n = 0)
0
|
||||||
|
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|||
| 04.03.2014, 16:50 | |||
|
0
|
|||
|
39 / 27 / 12
Регистрация: 31.12.2013
Сообщений: 329
|
|
| 06.03.2014, 11:34 | |
|
выводить в обратном порядке
![]() Знаю, что нужно использовать функции fseek , но не знаю как применить :| Добавлено через 15 часов 45 минут heYyYyYYyYyYyYyYYyyYYyYYyY
0
|
|
|
Модератор
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
|
||
| 06.03.2014, 11:40 | ||
|
1 потом сдвигаешь на одну запись к началу 2 потом читаешь 3 потом на две записи к началу( одна только что прочитанная, другая перед ней) если достигли начала считываем и выходим иначе к п.2 но это будет долго проще и быстрее считать весь файл в стек (std::stack) и потом достать оттуда записи
0
|
||
|
39 / 27 / 12
Регистрация: 31.12.2013
Сообщений: 329
|
|
| 06.03.2014, 21:24 | |
|
А код можно? (Пример его
)Добавлено через 1 час 41 минуту UP!!!
0
|
|
|
39 / 27 / 12
Регистрация: 31.12.2013
Сообщений: 329
|
||||||
| 08.03.2014, 19:52 | ||||||
Правильно использовано? Закомментировал то, что не работает. Перед while(!file.eof())
0
|
||||||
|
39 / 27 / 12
Регистрация: 31.12.2013
Сообщений: 329
|
|
| 15.03.2014, 21:36 | |
|
Ребята, хелпаните :-)
Добавлено через 22 часа 56 минут ппц Добавлено через 2 часа 23 минуты Помогите, ребята))
0
|
|
| 15.03.2014, 21:36 | |
|
Помогаю со студенческими работами здесь
16
Чтение файла с n строки и до конца файла
Выделить подпоследовательность, начиная с минимального элемента и до конца последовательности Получить слово, получаемое путем прочтения слова s начиная с его конца(оператор цикла с параметром) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|