【发布时间】:2016-06-20 10:48:05
【问题描述】:
我有一个读取和反向编码任务,我需要传递一个文本文件和一个字符(-L 或 -W),具体取决于操作员是希望按行还是按单词反向返回文本文件。 (我还应该注意,分配要求在代码期间不向用户询问任何内容。必须决定在命令行中需要哪种变体。)
我不需要代码帮助来反转行或单词,但需要帮助来理解如何接收字符和文本文件,然后在代码中使用它们。我尝试在main 上使用参数(int argc, char *argv[]),但无论何时我尝试只传入-L,终端都会显示Command not found 或clang: error: argument to '-L' is missing (expected 1 value)
另外,当我的老师将文本文件传递给程序时,他经常使用>。谁能解释一下这个怎么用?
例如。 program.c > hello.txt
然后他最终会在程序中使用那个.txt。
【问题讨论】:
-
你是如何尝试通过 -L 的?
-
我猜
>用于重定向。如果是这样,./a.out > hoge.txt表示./a.out的标准输出将不是终端而是hoge.txt -
命令
program.c > hello.txt看起来很奇怪。是否有Cinterpreter(或者编译器隐藏在软件中)直接在他的环境中执行C源文件? -
请注意,
>(和<)是由 shell 处理的 I/O 重定向操作符——程序既看不到操作符也看不到以下文件名。听起来您可能需要:./your-program -L input-file.txt > output-file.txt作为命令行,-W作为替代方案。如果既没有指定-L也没有指定-W,你的程序会做什么?它可能应该默认为一个或另一个。同样,如果没有文件传递,你会怎么做?然后正常行为是读取标准输入。如果传递了许多文件,则依次处理每个文件。查找getopt()函数。
标签: c command-line command text-files line