我想在我的c程序中使用以下Shell命令:
echo 1=150 > /dev/mydevice
如果我是对的,echo的语法是:
echo [option(s)] [string(s)]
所以我想出了以下c代码:
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <string.h>
int main()
{
int fd = open("/dev/mydevice", O_RDWR);
write(fd, "1=150", 6);
return 0;
}
有可能吗?您能找出错误吗?
是否有调试设备写入的好选择?
编辑:
太感谢了!!!
那是换行符。现在,我能够解决两个问题:
1)
int main()
{
int fd = open("/dev/mydevice", O_RDWR);
write(fd, "1=150\n", 6);
return 0;
}
2)
int main()
{
system("echo 1=150 > /dev/mydevice");
return 0;
}
最佳答案
抱歉,我错过了“答案按钮”。我已经把答案作为对问题的编辑。
关于c - 使用/将Linux Shell命令“echo 1 = 200>/dev/mydevice”转换为C程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40137669/