Как фиксировать ошибки при чтении значения аналогового входа

В настоящее время я пытаюсь сделать мой код более безопасным и структурированным. Пока что, когда я хочу прочитать значение аналогового ввода, я использую следующую функцию, которая прекрасно работает:

FILE *fp = popen("cat /sys/bus/iio/devices/iio\\:device0/in_value_raw", "r");
char *ln = NULL;
size_t len = 0;

while (getline(&ln, &len, fp) != -1)
    fputs(ln, stdout);
    free(ln);
    pclose(fp);
int result = atoi(ln);

Однако до сих пор у меня нет средств для получения сообщений об ошибках или проверки правильности чтения значения... Есть ли способ изменить это? Я просмотрел некоторые статьи о "потоковой передаче по каналу", но поскольку они всегда касаются выполнения файлов, я не знаю, нахожусь ли я на правильном пути...

Если бы вы могли сказать мне, как наилучшим образом решить эту проблему, это было бы очень полезно.

Спасибо за ваше время!

0 ответов

Другие вопросы по тегам