|
8 / 7 / 3
Регистрация: 03.01.2009
Сообщений: 70
|
|||||||||||
Во время компиляции этой программы выдается ошибка сегментирования22.12.2010, 15:29. Показов 4205. Ответов 22
Метки нет (Все метки)
Здравствуйте!
Вот эта программа работает нормально.
Здесь, если не использовать функцию moika() (строка 45), то она тоже работает. Значит ошибка в этой функции. С другой стороны, код который я написал выше абсолютно идентичен функции moika() и работает. Помогите разобраться.
0
|
|||||||||||
| 22.12.2010, 15:29 | |
|
Ответы с готовыми решениями:
22
При компиляции программы выдается ошибка Ошибка сегментирования при компиляции
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 22.12.2010, 15:37 | |
|
Не понятно, для чего вообще нужен str, если все его значения будут указывать на один и тот же адрес, не понятно почему он размером 10, а цикл while не ограничен, не понятно, для чего нужен i, если он не используется.
0
|
|
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||
| 22.12.2010, 15:45 | ||
|
Во-первых, напиши четко, что должна делать программа.
Во-вторых, что за режим открытия - "rt"? В-третьих, нужно проверять, удалось ли связать файл с потоком (т.е. открыть)
0
|
||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|||
| 22.12.2010, 15:49 | |||
![]() просто код и так разбухший, можно было бы заюзать адресную арифметику, он бы стал куда более красивым и понятным.
0
|
|||
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||||||||
| 22.12.2010, 15:54 | ||||||||
Сообщение было отмечено Памирыч как решение
Решение
0
|
||||||||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 22.12.2010, 15:56 | |
|
Nameless One, тогда непонятно, почему он в первом случае открывается.
0
|
|
|
8 / 7 / 3
Регистрация: 03.01.2009
Сообщений: 70
|
|
| 22.12.2010, 15:58 [ТС] | |
|
А почему str будет указывать на один и тот же адрес?
0
|
|
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|||
| 22.12.2010, 16:08 | |||
|
Но тем не менее, проверки на открытия файлов все равно делать неплохо И да, может просветишь меня уже про режим открытия?
0
|
|||
|
8 / 7 / 3
Регистрация: 03.01.2009
Сообщений: 70
|
||||||
| 22.12.2010, 16:12 [ТС] | ||||||
|
А если сделать так?
Скажите, пожалуйста, как это сделать.
0
|
||||||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
||
| 22.12.2010, 16:13 | ||
0
|
||
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
| 22.12.2010, 16:13 | |
|
Rasul, запусти программу в отладчике, сразу найдешь, где у тебя ошибка
0
|
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
||
| 22.12.2010, 16:15 | ||
|
Rasul, а если следить за размерами?
![]() Добавлено через 50 секунд наилучший метод. Но, боюсь, что тут с отладчиком напряги будут
0
|
||
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|||
| 22.12.2010, 16:20 | |||
|
Добавлено через 3 минуты
0
|
|||
|
8 / 7 / 3
Регистрация: 03.01.2009
Сообщений: 70
|
|
| 22.12.2010, 16:21 [ТС] | |
|
Переполнения str точно не будет, так как в файле данные типа:
323:3443 3443:3 Nameless One, а что тогда хорошо? И ещё вопрос: почему после каждого запуска программы всё содержимое файла удаляется?
0
|
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|||
| 22.12.2010, 16:26 | |||
|
Добавлено через 2 минуты
0
|
|||
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|||||||||
| 22.12.2010, 17:07 | |||||||||
|
Как я понял, ты сейчас находишься в одной из *nix систем, тогда скорее всего ты ипользуешь gcc, и отладчик gdb тоже скорее всего присутствует в системе. Скомпилируй свою программу с ключем -g. Примерно так (пусть у тебя программа называется prog, а исходник - файл main.c):
Добавлено через 31 секунду Добавлено через 35 минут
1
|
|||||||||
|
8 / 7 / 3
Регистрация: 03.01.2009
Сообщений: 70
|
|||||||||||
| 22.12.2010, 17:10 [ТС] | |||||||||||
|
У меня установлена EduMandriva. Компилятор Geany. Отладчика вроде бы нет.
Пишу
Спасибо за ответы, но всё-таки объясните как можно из файла считать посимвольно строку до символа ":"и записать её в массив символов str. Так вроде правильно? Но и тут ошибка сегментирования. Причем содержимое файла удалилось
0
|
|||||||||||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 22.12.2010, 17:15 | |
|
1
|
|
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|||
| 22.12.2010, 17:19 | |||
|
1
|
|||
|
8 / 7 / 3
Регистрация: 03.01.2009
Сообщений: 70
|
|
| 22.12.2010, 17:30 [ТС] | |
|
Ввел whereis gcc
gcc:/usr/bin/gcc4.4-version /usr/bin/gcc /usr/lib/gcc Ввел whereis gdb gdb: /usr/share/gdb Только я не понимаю, а как ими пользоваться?
0
|
|
| 22.12.2010, 17:30 | |
|
Помогаю со студенческими работами здесь
20
При компиляции выдается ошибка [Error] 'randomize' was not declared in this scope Нашел исходник примера двусвязанного списка, вроде рабочий, но при компиляции выдается ошибка... Выдается ошибка при компиляции (error C2447: missing function header (old-style formal list?)) При запуске программы выдается ошибка Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
|
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|