Форум программистов, компьютерный форум, киберфорум
Кроссплатфор­менная разработка
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
1 / 1 / 2
Регистрация: 21.03.2010
Сообщений: 38
1

Segmentation Fault из потока cin

24.03.2010, 20:13. Показов 1694. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста.

Столкнулся с проблемой. Выскакивает segmentation fault:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    int N;                  
    int N_arr[40000][3];
    int M;
    int M_arr[40000][2];
 
    cin >> N;
    for (int i=0; i<N-1; i++) {
        cin >> N_arr[i][0];
        cin >> N_arr[i][1];
        cin >> N_arr[i][2];
    }
 
    cin >> M;
    for (int i=0; i<M; i++) {
        cin >> M_arr[i][0];
        cin >> M_arr[i][1]; /* выскакивает здесь; в момент вылета: i=1 (вторая итерация), M=2 
    }
GCC 4.4.1 (ubuntu)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.03.2010, 20:13
Ответы с готовыми решениями:

Программа в порядке, однако segmentation fault.
Код правильный, программа компилируется, работает как надо, однако при выходе получаю Segmentation...

Program received signal SIGSEGV, Segmentation fault
Когда запускаю дебагер: gdb ./preci Вюдает следуще. Я не могу понять с чем это могет быть...

Почему Program received signal SIGSEGV, Segmentation fault. ?
#include &lt;iostream&gt; #include &quot;Tree.hpp&quot; using namespace std; int main() { element *head;...

Segmentation fault
Пытаюсь выполнить такой код: MainWindows::MainWindows() { QHBoxLayout* central_layout = new...

2
Эксперт С++
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
24.03.2010, 20:23 2
сделай так и покажи результат:
C++
1
2
3
4
5
6
    cin >> M;
    for (int i=0; i<M; i++) {
        cin >> M_arr[i][0];
        cout << M_arr[i][1];
//        cin >> M_arr[i][1]; /* выскакивает здесь; в момент вылета: i=1 (вторая итерация), M=2 
    }
Добавлено через 1 минуту
Цитата Сообщение от ivpoed Посмотреть сообщение
int M_arr[40000][2];
Цитата Сообщение от ivpoed Посмотреть сообщение
int N_arr[40000][3];
это занимает 800 кб стека. делать такое крайне не желательно.
0
1 / 1 / 2
Регистрация: 21.03.2010
Сообщений: 38
24.03.2010, 23:45  [ТС] 3
800 кб стека - согласен, плохо. Но к segfault не имеет отношения. Т.к. замена числа 40000 даже на число 5-7 ситуации не меняет.

Сделал как вы просили.
При вводе того элемента массива, который вызывает segfault, вывод этого элемента не происходит.
т.е.:
C++
1
2
3
4
5
>2 (это M)
>3
3
>1
segmentation fault
> - это я условно обозначил ввод.

Кстати, если N = 0 или 1 (т.е. первый цикл не выполняется), то второй цикл нормально отрабатывает...
Т.е. такое ощущение, что какая-то фигня накапливается в cin.
И cin.clear() / cin.ignore() не спасает =(

Добавлено через 32 минуты
Заменил цикл на while. Теперь segfault вылетает именно во время выхода из цикла. Ничего не понимаю...

Добавлено через 2 часа 39 минут
Более-менее разобрался...
На самом деле она вылетает не из-за ввода.
Хотя почему-то иногда именно на нём. Видимо тут есть какие-то тонкие особенности компилятора.
Тем не менее проблема актуальна: Нужно ли уничтожать экземпляр класса Vector?
0
24.03.2010, 23:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.03.2010, 23:45
Помогаю со студенческими работами здесь

Segmentation fault
Не могу разобраться в чем проблема :wall: хотя примерно понимаю, что она связана с удалением...

Ошибка Segmentation Fault
При соединении сигнала QNetworkReply::finished или ReadyRead с любым слотом(даже пустым) вылетает...

Ошибка segmentation fault и QMenu
День добрый! void CameraView::contextMenuEvent(QGraphicsSceneContextMenuEvent* event) { QMenu...

QObject::connect -> Segmentation fault
Вот уже второй раз натыкаюсь на проблему коннекта. Есть некий класс обработчик class User :...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru