📄 fig2.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 + -