/* cat8.c -- Convert TAB into Space to Simulate 8-Col Tab-Stops */ /* assuming that EUC 2-byte code occupies 2-Cols space */ /* and even a Control code occupies 1-Col space */ #include #include main(int argc, char *argv[]) { int c, n=0; FILE *fp; if (argc == 1) fp = stdin; else if ((fp=fopen(argv[1],"r")) == NULL) { fprintf(stderr, "file %s not found\n", argv[1]); exit(1); } while ((c=getc(fp)) != EOF) { if (c == '\t') do { putchar(' '); n++; } while (n % 8); else { putchar(c); n++; if ((c=='\r') || (c=='\n')) n = 0; } } if (fp != stdin) fclose(fp); }