在命令行中声明一个 -n 参数以接受一个整数 - C

昏昏沉沉的

我正在编写一个程序来打印文件的最后一个n字符.txt我希望添加从命令行运行程序的功能,并带有一个-n参数来输入要打印的字符数。

我试过声明,int main(int argc, char* argv[])但这似乎接受任何数量的参数,我只需要一个-n参数。

SS安妮

为此,您可以使用strncmpstrtol

int main(int argc, char* argv[])
{
     int n = 0;
     if(argc > 1)
     {
        if(!strncmp(argv[1], "-n", 2))
        {
            n = strtoll(argv[1]+2, NULL, 10);
        }
     }
     if(n == 0) /* fail */;
     /* do stuff */
}

这会检查是否argv有多个参数(程序的名称),然后检查-n,如果找到,则直接将后面的数字转换为-n整数(即-n3转换为三)。

如果您只想接受一个参数,否则失败,请更改argc > 1argc == 2

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

文件操作。一个C程序,它将使用fork()execvp(),wait / waitpid()接受单个命令行参数

C 编程从命令行输入字符串读取一个整数

如何使用命令行参数的子集调用另一个 C 文件中的函数?

如何制作一个 C++ 程序并将使用该目录中的命令行输入和 ls?

我有一个带有字符串文字的程序,用于指定可选的命令行参数。如何在c中处理这些可选的命令行参数?

从命令行构建一个 Objective-C/Metal 应用程序

编写一个程序,该程序读取所有命令行参数并打印平均值,c ++

我可以将整个字符串作为一个命令行参数传递给C中的argv吗?

在命令行中制作一个Java包

命令行参数添加一个额外的参数

访问Zsh中的最后一个命令(不是上一个命令行)

如何创建一个接受参数的新pytest命令行标志

无法将多个命令行参数接受到期望范围内的一个变量中

替换上一个命令中的参数N

Java:创建一个可选的命令行参数

如何在C ++中创建一个函数原型,该函数原型接受两个整数作为参数并返回它们的差值?

如何访问bash中命令行参数的下一个参数?

$ {!#}在bash中如何工作以获取最后一个命令行参数?

如何在 C 中编写一个可变参数函数,该函数接受整数并在动态字符串中将它们全部返回?

整数和文件名作为C中的两个命令行参数

我可以在C#中为一个参数接受多种类型吗?

将批处理命令行设置为另一个命令行中的字符串

C++ 必须接受一个或零个参数错误 (Operator+)

在 C++ 中返回一个“/n”字符

将C样式的整数数组传递给Ada函数以检索数组中的第一个元素

恢复最后一个以GNU / Octave命令行中的字符串开头的命令

如何在一个命令行中运行多个带有&的命令?

如何声明函数一次传递一个参数argv [i]?在C中

执行上一个命令行的输出