При возникновении ошибки я хотел бы, чтобы мой код C сохранял ошибку перед выходом из программы. Рекомендуется ли хранить файл stderr
в файле (например, /home/logs.txt) или было бы рекомендовано использовать другой метод для ведения журнала/отчета об ошибке (с учетом среды программирования Linux
). Например, для кода ниже, как я мог бы применить метод для хранения сообщения журналов/ошибок на /home/log.txt
или /home/log
сохранение журналов/сообщение об ошибке при программировании на языке С
FILE *fp1;
fp1 = fopen("/sys/class/gpio/export","w");
if(fp1 == NULL){
fprintf(stderr, "errno:%s - opening GPIO136 failed - line 739\n ", strerror(errno));
close(fp1);
exit(1);
}
Спасибо.
Вызов 'close()' неверен, поскольку он предназначен для дескрипторов файлов, а не для дескрипторов файлов. Здесь вы должны были показать предупреждение/ошибку компилятора, поскольку вы передаете указатель на то, где ожидается целое число. Однако вызов 'fclose()' был бы лишним, так как файл не был открыт, что обозначается 'fp1'' 'NULL'. – alk
Спасибо, я исправлю его на моем коде – sven