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

📄 wc.c

📁 unix v7是最后一个广泛发布的研究型UNIX版本
💻 C
字号:
/* wc line and word count */#include <stdio.h>main(argc, argv)char **argv;{	int i, token;	register FILE *fp;	long linect, wordct, charct;	long tlinect=0, twordct=0, tcharct=0;	char *wd;	register int c;	wd = "lwc";	if(argc > 1 && *argv[1] == '-') {		wd = ++argv[1];		argc--;		argv++;	}	i = 1;	fp = stdin;	do {		if(argc>1 && (fp=fopen(argv[i], "r")) == NULL) {			fprintf(stderr, "wc: can't open %s\n", argv[i]);			continue;		}		linect = 0;		wordct = 0;		charct = 0;		token = 0;		for(;;) {			c = getc(fp);			if (c == EOF)				break;			charct++;			if(' '<c&&c<0177) {				if(!token) {					wordct++;					token++;				}				continue;			}			if(c=='\n')				linect++;			else if(c!=' '&&c!='\t')				continue;			token = 0;		}		/* print lines, words, chars */		wcp(wd, charct, wordct, linect);		if(argc>1) {			printf(" %s\n", argv[i]);		} else			printf("\n");		fclose(fp);		tlinect += linect;		twordct += wordct;		tcharct += charct;	} while(++i<argc);	if(argc > 2) {		wcp(wd, tcharct, twordct, tlinect);		printf(" total\n");	}	exit(0);}wcp(wd, charct, wordct, linect)register char *wd;long charct; long wordct; long linect;{	while (*wd) switch (*wd++) {	case 'l':		printf("%7ld", linect);		break;	case 'w':		printf("%7ld ", wordct);		break;	case 'c':		printf("%7ld", charct);		break;	}}

⌨️ 快捷键说明

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