Может кто подскажет? Использую фунции времени:
#include <time.h>time_t now;
struct tm *tmnow;
now = time(NULL);И как только добавляю tmnow = localtime(&now) программа выдает segmentation fault. Не могу понять, в чем проблема?
Напишите полностью тестовый пример который у вас не работает. И какая у вас ОС.
У меня вот это всегда работало и работает.
SUSE Linux 10.1 С кодом сложнее, программа большая, работает и с com портом и MYSQL базой. Причем без функции localtime все отлично. Как можно понять из-за чего и где происходит segmentation fault?
>Как можно понять из-за чего и где происходит segmentation fault?Использовать отладчик ;-)
>SUSE Linux 10.1 С кодом сложнее, программа большая, работает и с com
>портом и MYSQL базой. Причем без функции localtime все отлично.Значит дело не в функции localtime(). Скорее всего портится стек где-то недалеко от места где вызывается функция.
>Как можно понять из-за чего и где происходит segmentation fault?
Ну не знаю, но есть же отладочная печать (printf), отладчик (gdb), утилиты типа valgrind, strace и т.п.
>>SUSE Linux 10.1 С кодом сложнее, программа большая, работает и с com
>>портом и MYSQL базой. Причем без функции localtime все отлично.
>
>Значит дело не в функции localtime(). Скорее всего портится стек где-то недалеко
>от места где вызывается функция.
>
>>Как можно понять из-за чего и где происходит segmentation fault?
>
>Ну не знаю, но есть же отладочная печать (printf), отладчик (gdb), утилиты
>типа valgrind, strace и т.п.man нам гласит что localtime - не threadsafe функция - если есть многопоточность тогла используйте localtime_r