gpt4 book ai didi

c - 在 linux 中将串行设备的 i/o 重定向到标准 i/o 的 api 是什么

转载 作者:太空宇宙 更新时间:2023-11-04 12:21:52 26 4
gpt4 key购买 nike

我正在尝试将 Vxworks 应用程序移植到 Linux。为了将其中一个串行设备的 i/o 重定向到标准 i/o,他们使用 ioTaskStdSet();在 vxworks 中。但是我无法像 as 那样在 linux 中找到 api。只有复制设备在 linux 中可用,但在我的应用程序中也不起作用。

谁能帮我解决这个问题?

最佳答案

作为@Ignacio提到的 dup2 正是用于此目的。例如这个程序将 stdout 重定向到“echo”文件:

#include <fcntl.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <unistd.h>

int main(int argc, char *argv[]) {
int fd = open("echo", O_RDWR | O_CREAT, 00644);
if(fd == -1)
return 1;

if(dup2(fd, 1) == -1)
return 1;
close(fd);

system("echo Hi!");
return 0;
}

关于c - 在 linux 中将串行设备的 i/o 重定向到标准 i/o 的 api 是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45728040/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com