Zen*_*net 1 c command-line-arguments type-coercion
在一个简单的C程序上工作我坚持使用if测试:
int line_number = 0;
if ((line_number >= argv[2]) && (line_number <= argv[4]))
Run Code Online (Sandbox Code Playgroud)
gcc说:
cp.c:25: warning: comparison between pointer and integer cp.c:25: warning: comparison between pointer and integer
我该怎么做才能正确检查我想要处理的行数范围?
当然它不起作用:argv
是一个指向指针的指针char
..它不清楚你想做什么,但想想这argv[2]
是第三个参数,argv[4]
是第五个参数.但它们是char*
类型(它们是字符串)所以如果你想将它们解析为整数,你应该使用函数来完成它atoi
:
int value = atoi(argv[2]);
Run Code Online (Sandbox Code Playgroud)
将解析作为第三个参数的int并将其放入变量,然后您可以检查您想要的任何内容.