📄 sum.c
字号:
/* * Sum bytes in file mod 2^16 */#include <stdio.h>main(argc,argv)char **argv;{ register unsigned sum; register i, c; register FILE *f; register long nbytes; int errflg = 0; i = 1; do { if(i < argc) { if ((f = fopen(argv[i], "r")) == NULL) { fprintf(stderr, "sum: Can't open %s\n", argv[i]); errflg += 10; continue; } } else f = stdin; sum = 0; nbytes = 0; while ((c = getc(f)) != EOF) { nbytes++; if (sum&01) sum = (sum>>1) + 0x8000; else sum >>= 1; sum += c; sum &= 0xFFFF; } if (ferror(f)) { errflg++; fprintf(stderr, "sum: read error on %s\n", argc>1?argv[i]:"-"); } printf("%05u%6ld", sum, (nbytes+BUFSIZ-1)/BUFSIZ); if(argc > 2) printf(" %s", argv[i]); printf("\n"); fclose(f); } while(++i < argc); exit(errflg);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -