|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.10.2016, 15:11 | #1 |
Новичок
Джуниор
Регистрация: 27.10.2016
Сообщений: 4
|
Работа с файлами.
Всем привет!
У меня следующая проблема. Пишу программу, работающую с внешним файлом, на С++. Файл подгружается, данные считываются. И программа вылетает. Если ниже добавить блок вывода данных массива на экран (по очереди выводящий все элементы) - программа доходит до своего логического завершения. Если под этим блоком еще что либо дописать - опять вылет. Ошибка самая обычная: "Прекращена работа программы ....cpp. Искать в интернете Закрыть Отладить" Не могу понять что происходит, может кто что нибудь подсказать? P.S. я же могу одновременно открывать разные файлы для чтения и записи? Вроде того: Код:
Последний раз редактировалось undertaker; 27.10.2016 в 15:15. |
27.10.2016, 15:21 | #2 | ||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Так нажмите ж отладить и посмотрите, где и что падает. Что за код ошибки система пишет, если в сообщении подробности открыть?
Цитата:
Цитата:
|
||
27.10.2016, 15:31 | #3 | |
Новичок
Джуниор
Регистрация: 27.10.2016
Сообщений: 4
|
Цитата:
Спамит такой строчкой. сам код: Код:
|
|
27.10.2016, 16:19 | #4 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Правильно спамит. Вы объявили массив под 50 указателей, а пытаетесь с ним работать как просто с массивом.
Кстати, память за собой надо удалять. |
27.10.2016, 18:24 | #5 | ||
Новичок
Джуниор
Регистрация: 27.10.2016
Сообщений: 4
|
Цитата:
Код:
Цитата:
p.s. Попытался вынести запись в файл в отдельный цикл - опять та же ошибка! А вынесение в отдельный цикл необходимо, так как записывать в файл программа должна в упорядоченном виде. p.p.s. удалил buff, реализовал запись из базы напрямую в mmr[i] - вроде работает без сбоев (осталось реализовать упорядочивание mmr). Однако все равно буду рад получить ответы на выше заданные вопросы - для общего развития. Спасибо заранее! Последний раз редактировалось undertaker; 27.10.2016 в 18:43. |
||
27.10.2016, 20:43 | #6 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Вы внимательно прочитали, что я написал?
Вы объявили массив указателей, вы не выделили память и не проинициализировали их. Вы пытаетесь писать и читать по одному из них... |
27.10.2016, 23:45 | #7 | |
Новичок
Джуниор
Регистрация: 27.10.2016
Сообщений: 4
|
Цитата:
так же пытался сделать не 50 а 1 - все равно не вышло, а если убрать указатель то программа отказывается с ним работать. Подскажите, пожалуйста, где есть информационная база хорошая, где были бы объяснены все эти моменты. |
|
28.10.2016, 07:40 | #8 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
1. В С++ действует правило право-лево при чтении объявлений. См.
Код:
2. Указатель имеет фиксированный размер. Где вы видели фразу указатель длинной 50? 3. Почему для одного указателя вы выделяете память, а для другого как будто не знаете что это такое. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Лабораторная работа(очень простая) Структуры, работа с файлами | yurda | Фриланс | 2 | 11.06.2016 08:44 |
Работа с файлами: запись, добавление, чтение (найти ошибку в коде) / C для начинающих Надо создать программу для работы с файлами | Konlor | Общие вопросы C/C++ | 2 | 18.05.2014 12:37 |
Работа с файлами | sds614 | Помощь студентам | 0 | 14.03.2012 19:35 |
Работа с файлами | VENOMIK | Помощь студентам | 1 | 17.02.2012 12:19 |