The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"RE: [Си][linux]Segmentation fault - HELP PLZ"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"RE: [Си][linux]Segmentation fault - HELP PLZ"
Сообщение от Prog Искать по авторуВ закладки on 19-Фев-01, 04:01  (MSK)
Некоторая программа открывает файл, в котором имеються записи , причем
каждая запись находиться на одной строке и состоит только из одного слова.
Затем считывает по очереди каждую, обрабатывает ее и помещает рузельтат
обраьотки в другой файл. Вот текст программы:

if ((list=fopen(in_file, "r")) == NULL)
perror(in_file);
while (fgets(out, 100, list) != NULL) {
log=fopen(out_file, "a");
...
обработка;
запись в поток log
...

Все рботает нормально, но если подать слишком большой входной файл (200 Kb) то
программа завершается с Segmentation fault

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: [Си][linux]Segmentation fault - HELP PLZ"
Сообщение от stalker emailИскать по авторуВ закладки on 19-Фев-01, 17:55  (MSK)
я бы попробовал поставить O_SYNC на оба файла (для начала).
А дальше - по обстоятельствам...
  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: [Си][linux]Segmentation fault - HELP PLZ"
Сообщение от Sergey Искать по авторуВ закладки on 19-Фев-01, 18:07  (MSK)
poprobuy ispolzovat open,read,write
  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "RE: [Си][linux]Segmentation fault - HELP PLZ"
Сообщение от Sergey Vlasov Искать по авторуВ закладки on 19-Фев-01, 22:49  (MSK)
Выходной файл открывается на каждом проходе по циклу, а закрывается ли? Если нет, то дескрипторы кончатся, fopen() вернет NULL, если проверки на него нет, как раз Segmentation fault и получится.

А вообще в таких случаях часто помогает gdb.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "RE: [Си][linux]Segmentation fault - HELP PLZ"
Сообщение от Prog Искать по авторуВ закладки on 20-Фев-01, 01:56  (MSK)
Я все понял, проблема была в том что я объявил масив out как out[50] а в программе fgets(out, 100, list) - 100!
  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру