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

📄 ful2hlf.c

📁 将文本中的全角转变为半角
💻 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 + -