![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 06.11.2022
Сообщений: 3
|
![]()
fin.seekg(0, fin.end) не работает
Код:
Последний раз редактировалось agent2; 17.01.2023 в 22:22. Причина: ПРАВКА |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
![]()
Так вы устанавливаете указатель файла в самый конец. Там больше нечего читать и поэтому цикл while не будет работать.
Чтобы считать int вам надо отступить от конца файла на -4 и считать этот int Код:
Последний раз редактировалось macomics; 17.01.2023 в 22:50. |
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 06.11.2022
Сообщений: 3
|
![]()
macomics, а как сделать чтобы имменно все цифры из файла выводились с конца ? указываю больше отступ появляются неправильные значения
|
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
![]()
Ну смотрите. Опишу словами. Вот вы установили указатель в самый конец файла. Тогда при попытке чтения из файла функция вернет ошибку потому что нет данных для считывания.
Если вы отступите от конца файла на 1*sizeof(int) тогда до конца файла останутся байты позволяющие считать int. Функция чтения при этом сможет удачно его считать и переместит указатель в файле на sizeof(int) и он опять установится в самый конец файла. Если после функции чтения вы от fin::cur отступите назад на sizeof(int), тогда вы отмените тот переход, который сделала функция read. А вам надо перейти к предыдущему элементу, а не к тому же самому. Тогда надо отступить назад на 2*sizeof(int). Проблемы начинаются в начале файла. Проще всего получить длину файла и разделить на sizeof(int) и вместо while использовать for. |
![]() |
![]() |
![]() |
#5 |
Новичок
Джуниор
Регистрация: 06.11.2022
Сообщений: 3
|
![]()
Открыть бинарный файл, заполненный случайными целыми числами в диапазоне [-10...20]. Количество чисел в файле заранее неизвестно. Найдите максимальный и минимальный элемент в файле. Все числа, находящиеся между ними, вывести на экран в обратном порядке. Массивы не использовать
Пытался сам чтото написать Код:
|
![]() |
![]() |
![]() |
#6 | |
Форумчанин
Регистрация: 26.10.2022
Сообщений: 119
|
![]()
agent2, попробуйте так:
Код:
Цитата:
Обычно консольные программы делают так, что ноль возвращается в случае успеха, а если случилась ошибка, то возвращается не ноль. По науке для этого даже специальные константы есть: EXIT_SUCCESS, EXIT_FAILURE. Но их редко используют. |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
прочитать stringlist с конца | nibufep | Общие вопросы Delphi | 2 | 06.05.2016 00:39 |
C++, задача на бинарный файл (Бинарный файл состоит из записей по 5 бит) | zaitsevmishka | Помощь студентам | 3 | 16.05.2014 21:39 |
Бинарный файл. Чтение записи с конца. | rommster | Общие вопросы C/C++ | 30 | 12.12.2012 23:45 |
Прочитать бинарный файл | Lazan | Помощь студентам | 6 | 16.06.2010 14:19 |
Не могу прочитать файл до конца... | FEAR | Общие вопросы C/C++ | 9 | 04.01.2007 21:46 |