为什么这个文件没有写入

Why is this file not writing?

本文关键字:文件 为什么      更新时间:2023-10-16

所以我遇到了一种情况,我正试图写入嵌入式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);

它不起作用。它没有给出任何错误或任何东西,只是不起作用。以前有人遇到过这种情况吗?我能做些什么来解决这个问题。有没有一种方法可以像我手动做的那样"回声"。。。但这是从代码开始的吗?最好的方法是什么?

谢谢你的帮助!

这是因为您正在向gpio16/值写入"CTRL-A"(字符代码1,而不是echo发送的数字"1")。

尝试:

fputc('1', fs);

如果这仍然不起作用,那可能是你还需要一条换行符:

fputs("1n", fs); 

尝试使用fputc('1',fs);

echo写入重定向到文件的asci。

相关文章: