📄 ful2hlf.c
字号:
/* convert full angle HZ to half angle HZ */#include <stdio.h>#include <stdlib.h>#include <string.h>#include <ctype.h>#define MAXLINE 65536 int isBJ(unsigned char ch) /* half angle ASCII character */{ return !(ch & 0x80);}int main(int argc, char *argv[]){ int i; unsigned char line[MAXLINE]; int len; FILE *fp; unsigned char BFH[3] = "%"; unsigned char DOT[3] = "."; if (argc != 2) { printf("Usage: %s all.txt\n", argv[0]); exit(-1); } fp = fopen(argv[1], "r"); if (fp == NULL) {printf("Cannot open: %s\n", argv[1]); return -1;} while( fscanf(fp, "%s", line) != EOF ) { len = strlen(line); for (i = 0; i < len; i++) { if(!isBJ(line[i])) { if (line[i] == 0xa3 && line[i+1] >= 0xb0 && line[i+1] <= 0xb9) /* digital 0-9 */ printf("%c", line[i+1] & 0x7f); else if(line[i] == BFH[0] && line[i+1] == BFH[1]) /* % */ printf("%%"); else if(line[i] == DOT[0] && line[i+1] == DOT[1]) /* . */ printf("."); else printf("%c%c", line[i], line[i+1]); i++; } else printf("%c", line[i]); } printf("\n"); } return 0; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -