如何处理终端命令参数?

How to process terminal command arguments?

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

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

[delimiter] 是将在正文中定义的结果 table 中划分单元格的字符;

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

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

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

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

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

中找到其中的一些

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