⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fig2.13

📁 UNIX环境高级编程第二版(英文版)配书的源代码
💻 13
字号:
#include "apue.h"#include <errno.h>#include <limits.h>static void	pr_sysconf(char *, int);static void	pr_pathconf(char *, char *, int);intmain(int argc, char *argv[]){	if (argc != 2)		err_quit("usage: a.out <dirname>");#ifdef ARG_MAX	printf("ARG_MAX defined to be %d\n", ARG_MAX+0);#else	printf("no symbol for ARG_MAX\n");#endif#ifdef _SC_ARG_MAX	pr_sysconf("ARG_MAX =", _SC_ARG_MAX);#else	printf("no symbol for _SC_ARG_MAX\n");#endif/* similar processing for all the rest of the sysconf symbols... */#ifdef MAX_CANON	printf("MAX_CANON defined to be %d\n", MAX_CANON+0);#else	printf("no symbol for MAX_CANON\n");#endif#ifdef _PC_MAX_CANON	pr_pathconf("MAX_CANON =", argv[1], _PC_MAX_CANON);#else	printf("no symbol for _PC_MAX_CANON\n");#endif/* similar processing for all the rest of the pathconf symbols... */	exit(0);}static voidpr_sysconf(char *mesg, int name){	long	val;	fputs(mesg, stdout);	errno = 0;	if ((val = sysconf(name)) < 0) {		if (errno != 0) {			if (errno == EINVAL)				fputs(" (not supported)\n", stdout);			else				err_sys("sysconf error");		} else {			fputs(" (no limit)\n", stdout);		}	} else {		printf(" %ld\n", val);	}}static voidpr_pathconf(char *mesg, char *path, int name){	long	val;	fputs(mesg, stdout);	errno = 0;	if ((val = pathconf(path, name)) < 0) {		if (errno != 0) {			if (errno == EINVAL)				fputs(" (not supported)\n", stdout);			else				err_sys("pathconf error, path = %s", path);		} else {			fputs(" (no limit)\n", stdout);		}	} else {		printf(" %ld\n", val);	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -