Есть кусок кода:
#include <stdio.h>
....
int main( int argc, char **argv ) {
....
FILE *fptr;
initLog( fptr ); /* создаем поток в файл */
....
writeLog( fptr, "SOme teXt" ); /* пишем в конец фйла */
....
closeLog( fptr ); /* закрываем поток */
return 0;
}
...
void initLog( FILE *fl ) {
fl = fopen( "someF.log", "a" ); /* пытаемся открыть файл */
if( file == NULL ) { /* если облом.. */
printf( "Cannot open %s.\n", "someF.log" ); /* пишем еррор */
exit( EXIT_FAILED ); /* завершаем прогу */
}
return;
}
void writeLog( FILE *fptr, const char *str ) {
fprintf( fptr, "Log: %s\n", str ); /* пишем в файл строку */
return;
}
...
Файл успешно создается и откравается, но, почему-то при передаче указателя fptr в ф-ию writeLog() возникает segmentation fault. Если
в main ф-ии ф-ию initLog(...) заменить просто на fptr = fopen(...);...
, то все нормально работает. Вопрос как раз в том, почему возникает
этот сег фаулт в первом случае?
glib 1.2.10, gcc 3.3.3
Ответ на:
комментарий
от idle
Ответ на:
комментарий
от Keiko
Ответ на:
комментарий
от Keiko
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум [C] почему падает код ? (2008)
- Форум C и попытки вернуть из функции указатель на массив символов (2009)
- Форум [нубский вопрос]C и указатели... (2009)
- Форум Просьба проверить учебную программу на языке Си на наличие ошибок - 2 (2014)
- Форум Не могу считать строку в C (2014)
- Форум Запуск самосгенерированного кода на Си в Linux (2007)
- Форум pthread не работает (2006)
- Форум [emacs][cedet] Автодополнение (2010)
- Форум Qt: QThread ? (2010)
- Форум C++ Криво работает вывод в файл (2015)