我正在尝试用 C 编写一个程序,该程序需要 10 个命令行参数并对它们执行某些操作。我已经有了接受 10 个参数int main(int argc, char **argv)
的部分和在用户输入所有 10 个参数后输出结果的部分printf(" %s", argv[i]);
。
我只是想弄清楚如何在输入的每个命令行参数上自己执行操作,即:
- 删除所有特殊符号,例如
(*&%^’$+_
. - 删除所有非字母
最后:
- 如果参数包含一个或多个数字,假设看到的第一个数字是 n,则将该 arg 替换为第 n 个 arg(唯一的例外是 0,它应该映射到第 10 个参数)。例如,如果输入的参数是
764
,则此参数将被第 7 个参数替换。
编辑:用下面更好的例子更新
这是一个示例输入(10 个用户输入的参数):
sda 789 io90 poi 4kl24PP +df_1JK MN BV XC __5555
以及输出应该是什么:
sda MN XC poi poi sda MN BV XC klPP
(还要注意 789 如何映射到第 7 个输出,即 MN)