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

📄 block.c

📁 assoeted源码
💻 C
字号:
/*
 *     Copyright (C) 1993  Eric E. Moore and Thomas W. Strong
 *
 *     All rights reserved.  Any unauthorized distribution of this
 *     program is prohibited.
 */

#include "header.h"

int main(int argc, char * argv[])
{
    char c;
    int z;
    int chars = 0;
    int blocks = 0;
    int chars_per_block = BLOCK_DEFAULT_CHARS_PER_BLOCK;
    int blocks_per_line = 0;
    extern int opterr;
    extern char *optarg;
    int errflg = 0;

    opterr = 0;
    while ((z = getopt(argc, argv, "c:b:i:o:")) != EOF) {
	switch ((char)z) {
	case 'i':
	    if (freopen(optarg, "r", stdin) == NULL) {
		file_open_error();
	    }
	    break;
	case 'o':
	    if (freopen(optarg, "w", stdout) == NULL) {
		file_open_error();
	    }
	    break;
	case 'b':
	    blocks_per_line = atoi(optarg);
	    break;
	case 'c':
	    chars_per_block = atoi(optarg);
	    break;
	case '?':
	    errflg = TRUE;
	}
    }
    if (errflg) {
	usage(BLOCK_USAGE);
    }

    if (blocks_per_line <= 0) {
	blocks_per_line = 80 / (chars_per_block + 1);
    }

    z = getchar();
    do {
	c = (char)z;
	printf("%c", c);
	chars++;
	if (chars == chars_per_block) {
	    chars = 0;
	    blocks++;
	    if (blocks == blocks_per_line) {
		blocks = 0;
		printf("\n");
	    } else {
		printf(" ");
	    }
	}
    } while ((z = getchar()) != EOF);
    if (blocks != 0 || chars != 0) {
	printf("\n");
    }
    return(0);
}

⌨️ 快捷键说明

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