我想在我的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/

10-13 08:16