我正在编写一个程序来打印文件的最后一个n
字符.txt
。我希望添加从命令行运行程序的功能,并带有一个-n
参数来输入要打印的字符数。
我试过声明,int main(int argc, char* argv[])
但这似乎接受任何数量的参数,我只需要一个-n
参数。
为此,您可以使用strncmp
和strtol
:
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 > 1
为argc == 2
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句