示例#1
0
int main(int ac, char **av)
{
	int iret;
	int i, j;
	char kanji[NSTR];
	char koe[NSTR];
    char koer[NSTR];
	void* hAqKanji2Koe;

	if(ac==1){
		char* pPathDic  = GetPathDic(av[0]);
		hAqKanji2Koe = AqKanji2Koe_Create(pPathDic, &iret);
		free(pPathDic);
	}
	else {
		hAqKanji2Koe = AqKanji2Koe_Create(av[1], &iret);
	}

	if(hAqKanji2Koe==0){
		fprintf(stderr, "ERR: can not initialize Dictionary(%d)\n", iret);
		fprintf(stderr, "USAGE: $ Kanji2KoeCmd (dic_dir) < in.txt > out.koe\n");
		return iret;
	}

	for(i=0; ; i++){
		if(fgets(kanji, NSTR, stdin)==0) break;
		iret = AqKanji2Koe_Convert(hAqKanji2Koe, kanji, koe, NSTR);
		if(iret!=0) {
			fprintf(stderr, "ERR: AqKanji2Koe_Convert()=%d\n", iret);
			break;
		}

		// fprintf(stdout, "original: %s\n", koe);
        int rres = replace_utf8(koe, "ー", "-");
        if (rres < 0) goto replace_utf8_failed;
        rres = replace_utf8(koe, "?", "?");
        if (rres < 0) {
        replace_utf8_failed:
            fprintf(stderr, "ERR: replace_utf8 failed.\n", iret);
            exit(1);
        }
		// fprintf(stdout, "original2: %s\n", koe);

        koer[0] = 0;
        int res = str2romaji(koe, koer, NSTR);
        // fprintf(stdout, "romaji: %d %s\n", res, koer);
        fprintf(stdout, "%s\n", koer);
	}

	AqKanji2Koe_Release(hAqKanji2Koe);
	return 0;
}
int main(int ac, char **av)
{
	int iret;
	char kanji[NSTR];
	char koe[NSTR];
	void *hAqKanji2Koe;

	if(ac==1){
		char *pPathDic  = GetPathDic(av[0]);
		hAqKanji2Koe = AqKanji2Koe_Create(pPathDic, &iret);
		free(pPathDic);
	}
	else {
		hAqKanji2Koe = AqKanji2Koe_Create(av[1], &iret);
	}
		
	if(hAqKanji2Koe==0){
		fprintf(stderr, "ERR: can not initialize Dictionary(%d)\n", iret);
		fprintf(stderr, "USAGE: $ Kanji2KoeCmd (dic_dir) < in.txt > out.koe\n");
		return iret;
	}

	int i;
	for(i=0; ; i++){
		if(fgets(kanji, NSTR, stdin)==0) break;
		iret = AqKanji2Koe_Convert(hAqKanji2Koe, kanji, koe, NSTR);
		if(iret!=0) {
			fprintf(stderr, "ERR: AqKanji2Koe_Convert()=%d\n", iret);
			break;
		}
		fprintf(stdout, "%s\n", koe);
	}

	AqKanji2Koe_Release(hAqKanji2Koe);
	return 0;
}