如何得到cmd参数并检查,cmd参数有什么意义
还有。。
#define CHECK_ERROR(a) if (a) { \
printf("Error at line\n\t" #a "\nSystem Msg"); \
exit(1); \
}
能告诉我这段代码是干吗用的吗、、、、、、、、
[解决办法]
命令如果都是不带参数的,那么这个命令的灵活性会很低;
通过参数化,可是使得一个命令实现一组相近的功能。
[解决办法]
这段代码定义一个宏,用来判断参数a是否为真,为真时将打印一些信息;
[解决办法]
这个一般用在出错处理中,a代表一段错误信息,如果没错,a为NULL或者0
如果有错则用printf打印出错误信息,#代表这种东西转换成一个字符串,如果a=5,则打印是"5"
然后调用exit退出
[解决办法]
a应该是行号,其他参照楼上
[解决办法]
运行一下就明白了
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define CHECK_ERROR(a) if (a) {printf("Error at line\n\t" #a "\n");exit(1);}
void main()
{
CHECK_ERROR(0);
puts("Hello world\n");
CHECK_ERROR(1);
}
[解决办法]
很古老的 C 程序,如果函数成功并正确,那么返回0,否则返回非0。
int check(int a){return a;}void main(){CHECK_ERROR(check(0));CHECK_ERROR(check(1));// 至此,主函数 exit(1) 退出。}
[解决办法]
这只是一个带参数的命令罢了,当然他很灵活,在实际的许多程序中都会有用到,可提高人机之间的沟通。
[解决办法]
如果给你一个解压的命令tar,如果有时候用户想解压到当前目录,而有时候想解压到指定目录,难道你的命令还要再给用户一个选项去选择么?用带参数的命令更灵活,而且可以比较方面的用脚本编程。
#define CHECK_ERROR(a) if (a) { \
printf("Error at line\n\t" #a "\nSystem Msg"); \
exit(1); \
}
感觉这个宏有点像断言,出错之后打印出错信息,然后退出