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

📄 args.h

📁 Audacity是一款用於錄音和編輯聲音的、免費的開放源碼軟體。它可以執行於Mac OS X、Microsoft Windows、GNU/Linux和其它作業系統
💻 H
字号:
/* * Argument processing macros * I got tired of rethinking this everytime, * and 4xbsd doesn't have getopt() * * The following is an example of the use of this stuff *#include "args.h"#include <stdio.h>main(argc, argv)char **argv;{    char *a = "a", *b = "b", *c = "c";    int x = 0, y = 0, z = 0;    ARGLOOP        STRINGARG(a)	a = p;		ENDSTRINGARG        STRINGARG(b)	b = p;		ENDSTRINGARG        STRINGARG(c)	c = p;		ENDSTRINGARG        FLAGARG(x)	x++;		ENDFLAGARG        FLAGARG(y)	y++;		ENDFLAGARG        FLAGARG(z)	z++;		ENDFLAGARG        BADARG            fprintf(stderr, "unknown option %c\n", *p);            fprintf(stderr, "Usage: usage\n");            exit(1);        ENDBADARG    ENDARGLOOP    Here, the remaining args are argv[0] to argv[argc - 1]     printf("a=%s b=%s c=%s x=%d y=%d z=%d\nargs:", a, b, c, x, y, z);    { int i; for(i = 0; i < argc; i++)        printf(" %s", argv[i]);    }    printf("\n");} * */#define	ARGLOOP						\    while(--argc > 0 && **++argv == '-') {		\        register char *p;				\        for(p = *argv + 1; *p != '\0'; p++) {	\        switch(*p) {				\#define ENDARGLOOP					\        }					\        }						\nextarg:;						\    }						\#define FLAGARG(c)	case c:#define ENDFLAGARG	break;#define STRINGARG(c)	case c: if(!*++p) p = *++argv, argc--;#define ENDSTRINGARG	goto nextarg;#define	BADARG		default:#define ENDBADARG	break;

⌨️ 快捷键说明

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