【问题标题】:How to process terminal command arguments?如何处理终端命令参数?
【发布时间】:2021-01-27 02:17:04
【问题描述】:

我正在做一个大学项目,它应该从 stdin 读取表格,对其应用一些更改并打印到 stdout。以下是程序的运行方式:

./main [delimiter] [function] <file1.txt >file2.txt

[delimiter] 是分割结果表中单元格的字符,在正文中定义;

[function] 是用于修改行或列的函数,在正文中定义。

所以我的问题是,如何从终端读取[delimiter][function],以便在程序主体中相应地使用它们?

【问题讨论】:

  • 您不会从终端读取它们。 shell 会读取它们并在 main 的参数中将它们提供给你。

标签: c string function terminal stdin


【解决方案1】:

C 程序通常有一个main 函数,其签名如下:

int main (int argc, char *argv[])

其中argc 是一个整数,它告诉您数组中有多少东西,argvargv 是一个以程序名称(在索引 0 处)开头并包括所有调用程序时指定的选项和参数。由于解析参数是许多程序必须要做的事情,因此有各种库可以简化任务。您可以在问题Parsing command-line arguments in C? 中找到其中的一些。

不过,自己解析参数确实并不困难,尤其是当您的程序期望参数以特定顺序排列时。只需遍历 argv 中的条目并读取字符串。

【讨论】:

    猜你喜欢
    • 2019-04-04
    • 1970-01-01
    • 2016-09-30
    • 2015-05-01
    • 1970-01-01
    • 2023-03-30
    • 2020-06-26
    相关资源
    最近更新 更多