![]() |
|
Модераторы: bsa |
![]()
|
|
| Mixasik |
|
|||
|
Little Delphi monstr ![]() Профиль Группа: Участник Сообщений: 195 Регистрация: 4.10.2006 Где: Волгоград Репутация: нет Всего: нет |
Добрый вечер, господа!
В общем в начале происходит заполнение файла целыми числами, потом поиск минимума и максимума + вывод, потом нахождение произведения, потом замена нулевых на произведение и потом вывод измененного файла, но тут проблемы такие: Как только введено 777 перестает добавлять но в конец файла пишет -1, далее при выводе -1 есть, далее при замене, как только встречается первый ноль постоянно выводит -1 и все зацикливается... Помогите пожалуйста - бьюсь уже третий день... Вот, что значит учиться по справке... И когда у одного решения много способов... Это не паскаль Как я понию -1 возвращает getw(f) - когда неудачное чтение? |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
эта операция некорректна:
|
|||
|
||||
| Mixasik |
|
||||
|
Little Delphi monstr ![]() Профиль Группа: Участник Сообщений: 195 Регистрация: 4.10.2006 Где: Волгоград Репутация: нет Всего: нет |
sizeof(int) в turbo с выдает 2 байта |
||||
|
|||||
| Mixasik |
|
||||||
|
Little Delphi monstr ![]() Профиль Группа: Участник Сообщений: 195 Регистрация: 4.10.2006 Где: Волгоград Репутация: нет Всего: нет |
В общем закавырка в feof и немного в fseek
Принцип работы с функцией feof() следующий: необходимо дочитать до конца файла, а потом прочитать еще один или более символов/байт за пределами файла, и только после этого feof() поймет что файл всетаки кончился. Может наконец то сейчас добью проблему
Вот полностью рабочий код, я и не думал, что это так просто и одновременно сложно, так вот
Считывать надо вот так(Может и это не лучший способ поправьме меня, но он работает)
И самое интересно, что если после putw не вызвать снова fseek(хотя я проверял что позиция одинаковая и по логике fseek ненадо) то следующий элемент будет концом файла и ничего дальше не заменится... Так вот и все Всем спасибо! Это сообщение отредактировал(а) Mixasik - 27.11.2008, 01:11 |
||||||
|
|||||||
| Mixasik |
|
|||
|
Little Delphi monstr ![]() Профиль Группа: Участник Сообщений: 195 Регистрация: 4.10.2006 Где: Волгоград Репутация: нет Всего: нет |
А вот и ошибка из цикла чтения выйдет в том случае, если из файла считается число -1
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
|
|||
|
||||
| Mixasik |
|
|||
|
Little Delphi monstr ![]() Профиль Группа: Участник Сообщений: 195 Регистрация: 4.10.2006 Где: Волгоград Репутация: нет Всего: нет |
Вопрос решен полностью, правда с одним допущением, что в файле не будет элементов раных -1
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Что-то я не очень понял, а в чем собственно проблема? Вместо fgetw используй fread и все. |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |