Итак, у меня есть ситуация, когда я пытаюсь написать во встроенный файл Linux (плата Nitrogen6x). Я могу сделать это вручную с помощью echo 1 > /sys/class/gpio/gpio16/value
. Однако, когда я пытаюсь сделать то же самое с помощью кода C:Почему этот файл не пишет?
FILE *fs;
fs = fopen("/sys/class/gpio/gpio16/value","w")
fputc(1,fs);
fclose(fs);
не работает. Он не дает никаких ошибок или чего-то еще, он просто не работает. Кто-нибудь когда-либо сталкивался с этим раньше? Что я могу сделать, чтобы исправить это. Есть ли способ «эха», как я делаю вручную ... но делать это из кода? Каков наилучший способ?
Спасибо за вашу помощь!
Вы пишете в двоичном или текстовом режиме? Ваш fputc выводит значение, не подлежащее печати. –
Первое, что нужно сделать, это убедиться, что 'fs' не' NULL' - другими словами, смогли ли вы успешно открыть файл? – Floris
Для начала, его 'FILE *', а не 'FILE'. Я потрясен этим составленным. – WhozCraig