C-管道程序输出
我的程序需要读取ls-l的输出并确定哪些文件是目录。所以我尝试了C-管道程序输出,c,unix,C,Unix,我的程序需要读取ls-l的输出并确定哪些文件是目录。所以我尝试了ls-l | my_program.c,但什么也没发生,它应该返回我创建的两个目录。如何读取ls-l中给出的输入?像这样编译程序 gcc my_program.c -o my_program 那就做吧 ls -l | my_program 在运行之前,您必须编译程序。对于C文件,可以使用gcc进行编译 $ gcc my_program.c 这将创建一个名为a.out的可执行文件。运行由以下命令完成 $ ls -l | a.ou
ls-l | my_program.c
,但什么也没发生,它应该返回我创建的两个目录。如何读取ls-l中给出的输入?像这样编译程序
gcc my_program.c -o my_program
那就做吧
ls -l | my_program
在运行之前,您必须编译程序。对于C文件,可以使用gcc进行编译
$ gcc my_program.c
这将创建一个名为a.out的可执行文件。运行由以下命令完成
$ ls -l | a.out
my_program.c
不是你的程序,它只是你的源代码,你希望发生什么?伙计,先读一些关于c编程语言的教程,然后再处理这些任务。您的源文件不是可执行文件。这太荒谬了。你为什么要用另一种工具来处理文本?目录列表是一项依赖于操作系统的任务,但是,ls
也是如此。在POSIX系统上,以编程方式使用和迭代目录要简单得多(在大多数系统上,dirent
struct将包含d_type
,它将让您知道条目是否是“免费”目录;无需stat
,除非您需要将dirs的符号链接作为dirs处理)。了解并提供一个。OP没有说明他使用Linux。在POSIX系统上,C编译器是c99