gpt4 book ai didi

C 通过管道或参数输入

转载 作者:太空宇宙 更新时间:2023-11-04 02:11:28 25 4
gpt4 key购买 nike

我正在寻找一种方法,从终端的管道或通过指定文件名作为参数将输入拉入我的程序。有效

1. foo | myprogram
OR
2. foo > bar; myprogram -w bar

第二个操作是通过读取文件来完成的。但是,我对如何使用管道将 foo 的输出重定向到 myprogram 中一片空白。在我设法找到的所有示例中,管道几乎专门用于从父进程到子进程的 IPC。我是在考虑合适的 Pipe 还是这是一种不同的机制?

我也意识到当 foo | myprogram 被执行,程序被同时执行。如果 foo 被连续读入,如何处理。

编辑:

忘了包括这个:

int main(){
char buff[255];
int i = read(0, buff, 255);
printf("Debug: %s\n", buff);
return 0;
}

例如,如果我执行 ls | myprogram 我倾向于接收。

. ../ files
Debug:

代替

Debug: . ../ files

最佳答案

The second operation is accoplished simply by reading the file. However I am drawing a blank on how to redirect the output from foo into myprogram with a pipe.

当使用管道重定向时,shell 将左侧进程的 stdout 设置为转到右侧进程的 stdin。只需像往常一样从 stdin 读取数据即可。

关于C 通过管道或参数输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13480781/

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