我正在寻找一种方法来从终端的管道或通过将文件名指定为参数来将输入拉入我的程序。有效地
1. foo | myprogram
OR
2. foo > bar; myprogram -w bar
第二个操作只需读取文件即可完成。但是,我对如何使用管道将输出重定向foo
到空白处。myprogram
在我设法找到的所有示例中,管道几乎专门用于从父进程到子进程的 IPC。我是在考虑合适的管道还是这是一种不同的机制?
我也意识到,当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