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