#include <stdio.h>
int main(int argc,char *argv[])
{
int getnum;
if(argc == 2)
{
getnum =*( int*)argv[1]; //这样不行额~ 不知道怎么样才能获得命令行输入的整数参数
}
return 0;
}
9 个解决方案
#1
用atoi函数
getnum = atoi(argv[1]);
getnum = atoi(argv[1]);
#2
命令行都是字符串
你需要自己解析而不是强制转换
你需要自己解析而不是强制转换
#3
yes
#4
嗯,解析……
#5
只能得到字符串
#6
#include <stdio.h>
int main( int argc, char **argv ) {
while ( --argv ) {
printf( "%d\n", atoi(*++argv) );
}
return 0;
}
#gcc -Wall -g cmd.c
#./a.out 1 2 3 4 5
1
2
3
4
5
#7
正解~!
#8
用itoa,或者自己编写函数
#9
哦 ,了解了~~~
#1
用atoi函数
getnum = atoi(argv[1]);
getnum = atoi(argv[1]);
#2
命令行都是字符串
你需要自己解析而不是强制转换
你需要自己解析而不是强制转换
#3
yes
#4
嗯,解析……
#5
只能得到字符串
#6
#include <stdio.h>
int main( int argc, char **argv ) {
while ( --argv ) {
printf( "%d\n", atoi(*++argv) );
}
return 0;
}
#gcc -Wall -g cmd.c
#./a.out 1 2 3 4 5
1
2
3
4
5
#7
正解~!
#8
用itoa,或者自己编写函数
#9
哦 ,了解了~~~