iso.c

来自「关系型数据库 Postgresql 6.5.2」· C语言 代码 · 共 73 行

C
73
字号
/* * make KOI8->ISO8859-5 and ISO8859-5->KOI8 translation table * from koi-iso.tab. * * Tatsuo Ishii * * $Id: iso.c,v 1.2 1999/05/25 16:12:42 momjian Exp $ */#include <stdio.h>main(){	int			i;	char		koitab[128],				isotab[128];	char		buf[4096];	int			koi,				iso;	for (i = 0; i < 128; i++)		koitab[i] = isotab[i] = 0;	while (fgets(buf, sizeof(buf), stdin) != NULL)	{		if (*buf == '#')			continue;		sscanf(buf, "%d %x", &koi, &iso);		if (koi < 128 || koi > 255 || iso < 128 || iso > 255)		{			fprintf(stderr, "invalid value %d\n", koi);			exit(1);		}		koitab[koi - 128] = iso;		isotab[iso - 128] = koi;	}	i = 0;	printf("static char koi2iso[] = {\n");	while (i < 128)	{		int			j = 0;		while (j < 8)		{			printf("0x%02x", koitab[i++]);			j++;			if (i >= 128)				break;			printf(", ");		}		printf("\n");	}	printf("};\n");	i = 0;	printf("static char iso2koi[] = {\n");	while (i < 128)	{		int			j = 0;		while (j < 8)		{			printf("0x%02x", isotab[i++]);			j++;			if (i >= 128)				break;			printf(", ");		}		printf("\n");	}	printf("};\n");}

⌨️ 快捷键说明

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