1 / 1 / 0
Регистрация: 28.02.2013
Сообщений: 62
|
||||||
1 | ||||||
В файл записывается мусор. Подкорректировать код31.01.2014, 00:21. Показов 2825. Ответов 27
Метки нет (Все метки)
Нужна помощь!
В общем организована БД со структурами и целый перечень функций, которые её обслуживают. Всё работало, но что как-то пошло не так и теперь некорректно работает 4-ая функция: "Edit data". Находит, принимает, но после перезаписи затирает ёё мусором. Что интересно при редактировании 1-ой структуры - редактирует правильно саму структуру, но все остальное превращается в мусор. При редактировании последующих структур - затирает мусором выбранную и еще в добавок задевает последнее поле предыдущей структуры. 3-ий день не врублюсь никак в чем проблема. С радость выслушаю критику любого характера. З.Ы. Файл организован: 4 бита (кол-во всех структур в файле) -> Абракадабра в тексте программы - русские комментарии. Написана в IDE С-Free 5. Заранее премного благодарен! Код сыроват.
0
|
31.01.2014, 00:21 | |
Ответы с готовыми решениями:
27
В файл записывается мусор Записывается мусор в файл В файл записывается мусор Из EditText в БД записывается мусор |
1 / 1 / 0
Регистрация: 28.02.2013
Сообщений: 62
|
|
31.01.2014, 00:59 [ТС] | 3 |
Если можно мануал по этим методам под С++, а то Си я то понимаю разницу, а вот на С++ не уловил.
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
31.01.2014, 01:06 | 4 |
Мануалов море... Хотя бы здесь посмотрите: http://ci-plus-plus-snachala.ru/?p=84
Поисковиком пользуйтесь.
1
|
1 / 1 / 0
Регистрация: 28.02.2013
Сообщений: 62
|
|
31.01.2014, 01:25 [ТС] | 5 |
Спасибо, таких действительно больше, чем хотелось бы, но я так и не понял что имелось ввиду пишите/читаете/открываете. Файл хоть и текстовый, но содержание его не меняется, что .txt , что .dat там бинарный код или шестнадцатеричный, в общем не это важно. Можно пжл конкретней немного в чем моя ошибка. (не на строку указывать, а на ошибку в подходе работы с файлом). Просто сижу тут с Дейтлом и не пойму в чем проблема.
0
|
1 / 1 / 0
Регистрация: 28.02.2013
Сообщений: 62
|
|
31.01.2014, 01:37 [ТС] | 7 |
Уже 3-ий раз, но я не пойму почему мусор пишет. 3-ем издании так точно, щас в 5-ом просмотрю.
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
31.01.2014, 01:43 | 8 |
Что уже третий раз? Если читаете третий раз, то почему файлы открываете в текстовом режиме, а пишите/читаете бинарными методами?
Добавлено через 1 минуту Мусор может писать и по другоей причине, но сначала нужно это правильно сделать, а потом дальше идти.
1
|
1 / 1 / 0
Регистрация: 28.02.2013
Сообщений: 62
|
|
31.01.2014, 02:05 [ТС] | 9 |
Тобишь в идеале я должен писать поток, если открывать так же (текстовым) ? Ну или же открывать бинарным, что бы писать тем же способом?!
0
|
1 / 1 / 0
Регистрация: 28.02.2013
Сообщений: 62
|
|
31.01.2014, 02:39 [ТС] | 11 |
Дейтл 3-е издание 761-762 страница. Вроде ему ничего не мешает использовать ios::in | ios::out и писать тем же способом, что и я. Но наверно Страуструп ему позвонил и сказал "
он все понял с 10-го раза и уже в 5-м издании он дописывает "ios::binary", но и в добавок использует еще свои наращенные классы, что не дает мне до конца понять ход операций, но все же в общих чертах ничего не изменилось, если не считать дополнительный параметр.
Добавил параметр и изменилось - ничего. З.Ы. Скорее всего я недопонял чем это может помочь мне в поисках решения моей проблемки. Можно ли поинтересоваться: каким образом производить произвольный доступ в текстовом файле? Строчки считать по "\0" или как?
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
31.01.2014, 02:54 | 12 |
Про это я уже написал:
Изменённый код нужно выкладывать. Ясновидящих тут нет. Добавлено через 1 минуту Читатйе Дейтела, там всё должно быть написано (если нет, то есть много других книг).
1
|
1 / 1 / 0
Регистрация: 28.02.2013
Сообщений: 62
|
||||||
31.01.2014, 23:08 [ТС] | 13 | |||||
Если бы в книгах были все ответы, то надобность в форуме просто отпала бы.
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
31.01.2014, 23:15 | 14 |
и т.д.
Это и называется: Да? Добавлено через 1 минуту Про все не говорю, но про эти точно есть:
1
|
1 / 1 / 0
Регистрация: 28.02.2013
Сообщений: 62
|
||||||
31.01.2014, 23:46 [ТС] | 15 | |||||
0
|
1 / 1 / 0
Регистрация: 28.02.2013
Сообщений: 62
|
||||||
01.02.2014, 01:05 [ТС] | 17 | |||||
При добавлении абсолютно во все функции открытия - вышли из строя все функции. Я оставил эти функции без изменения т.к. в них не нужен произвольный доступ к файлу.
Добавлено через 45 минут В общем в виду хаотичности корректировок не могу сказать точно что помогло, но все же ошибка проскакивает, хотя вызвать её не всегда получается. ПРЕМНОГО благодарен за наводки, alsav22. Надеюсь еще спишемся
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|||||||||||
01.02.2014, 02:54 | 18 | ||||||||||
Сообщение было отмечено GraBLYA как решение
Решение
Интересные рассуждения. Если не нужен произвольный метод доступа к файлу, то зачем используете методы произвольного доступа к файлу? Например:
Добавлено через 2 минуты Вот и нужно было выяснить - почему? Если делаете, как нужно, и код перестаёт работать, значит код кривой. И как следствие: Добавлено через 5 минут Вот ваш код, в котором, во всех случаях открытия файла, это делается в бинарном режиме. И почему-то нормально работает: Кликните здесь для просмотра всего текста
1
|
1 / 1 / 0
Регистрация: 28.02.2013
Сообщений: 62
|
|
01.02.2014, 16:24 [ТС] | 19 |
Был бы он "прямой" я бы сюда не обратился.
Я Вам скажу больше: на другой машине все работало нормально и без вмешательств в исходный код. Почему? Я сам не знаю, но когда стал вопрос переноса на другую, то выплыли все косяки и именно в этот момент родилась эта тема. Безусловно Ваша игра в загадки мне ну ооочень понравилась, но ведь можно же было сократить путь до 3-х строчного сообщения в 1-м посту. Например:
Сообщение от example
0
|
alsav22
|
01.02.2014, 19:06
В файл записывается мусор. Подкорректировать код
#20
|
Не по теме: О каких загадках речь? Элементарные вещи тут никто разжёвывать не будет. Для этого есть учебники, в которые вас, буквально, носом тыкали: Смотрим мой первый пост (в одну строчку): Кому и что непонятно? Не только разжевать, но ещё и в рот положить?
0
|
01.02.2014, 19:06 | |
В массив почему-то записывается мусор После выхода из функции в переменные записывается мусор подкорректировать код С++ Подкорректировать код Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |