Chapter4:
当我们为Unix编写程序时,我们应该考虑到它将在一个多任务的环境下运行,这句话的意思是,保持各个正在运行或是等待运行的程序之间相安无事对我们来讲很重要,因此,需要采取些措施保证这一点。
1、通常情况下,我们对main定义:int main( int argc, char *argv[] )和main() 是相同的,其中argc表示参数个数,argv是一个字符串数组,代表一个个参数。
下面是一个参数处理得例子:其中利用了getopt(),它的作用是在命令中取得下一个选项的字符(如果还有的话),至于那个optind[]则是在getopt的时候将非选项字符归集至该数组。
int main(int argc, char *argv[])
{
int opt;
while((opt = getopt(argc, argv, "if:lr")) != -1) {
switch(opt) {
case 'i':
case 'l':
case 'r':
printf("option: %c\n", opt);
break;
case 'f':
printf("filename: %s\n", optarg);
break;
case ':':
printf("option needs a value\n");
break;
case '?':
printf("unknown option: %c\n", optopt);
break;
}
}
for(; optind < argc; optind++)
printf("argument: %s\n", argv[optind]);
exit(0);
}
执行结果:

2、环境变量;
3、主机资料;
4、临时文件;
5、时间和日期。


浙公网安备 33010602011771号