如何处理终端命令参数?
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
是一个整数,告诉您数组中有多少东西,argv
,argv
是以程序名称开头的参数数组 (在索引 0 处)并包括您在调用该程序时指定的所有选项和参数。由于解析参数是许多程序必须要做的事情,因此有各种库可以简化这项任务。您可以在问题 Parsing command-line arguments in C?.
中找到其中的一些
不过,您自己解析参数确实不难,尤其是当您的程序需要特定顺序的参数时。只需遍历 argv
中的条目并读取字符串。
我正在做一个大学项目,它应该从 stdin 读取 table,对其应用一些更改并打印到 stdout 。程序应该是这样的 运行:
./main [delimiter] [function] <file1.txt >file2.txt
[delimiter]
是将在正文中定义的结果 table 中划分单元格的字符;
[function]
是将执行的修改行或列的函数,在正文中定义。
所以我的问题是,如何从终端读取 [delimiter]
和 [function]
以便在程序主体中相应地使用它们?
C 程序通常有一个 main
函数,其签名如下:
int main (int argc, char *argv[])
其中 argc
是一个整数,告诉您数组中有多少东西,argv
,argv
是以程序名称开头的参数数组 (在索引 0 处)并包括您在调用该程序时指定的所有选项和参数。由于解析参数是许多程序必须要做的事情,因此有各种库可以简化这项任务。您可以在问题 Parsing command-line arguments in C?.
不过,您自己解析参数确实不难,尤其是当您的程序需要特定顺序的参数时。只需遍历 argv
中的条目并读取字符串。