在学习tiny6410的led程序的时候,遇到这样一段代码。
if (argc != 3 || sscanf(argv[1], "%d", &led_no) != 1 || sscanf(argv[2],"%d", &on) != 1 ||
on < 0 || on > 1 || led_no < 0 || led_no > 3)
{
fprintf(stderr, "Usage: leds led_no 0|1\ n");
exit(1);
}
本来以为这段略带炫技的代码不是很难,编译整个C文件生成可执行out文件,没想到在试了很多次,居然不能成功的执行,每次都会提示Usage: leds led_no 0|1\ n,很明显,还是没有明白argc,argv的使用方法,于是深入的学习了一下:
int main(argc,**argv) 中的argc 表示的是命令行的个数(以空白符分割),argv是一个字符串数组,argv存储了命令行的内容,试一个简单的例子。
运行结果:
rg_test
lv
gk
argc is 3