예제 #1
0
int main(int argc,char** argv)
{
    char* ifo_name="../dict/stardict-langdao-ec-gb-2.4.2/langdao-ec-gb.ifo";
    char* idx_name="../dict/stardict-langdao-ec-gb-2.4.2/langdao-ec-gb.idx";
    char* dict_name="../dict/stardict-langdao-ec-gb-2.4.2/langdao-ec-gb.dict";
    DICT_INFO* dict_info;
    dict_info=get_dict_info(ifo_name);
    WORD_IDX* idx=(WORD_IDX*)malloc(sizeof(WORD_IDX)*dict_info->word_count);

    get_words(idx_name,dict_info,idx);

    WORD_IDX* word=get_idx(argv[1],idx,dict_info);
    if(word==NULL){
        printf("<NULL>\n");
        exit(0);
    }
    printf("%s,%d,%d\n",word->word,word->offset,word->length);
    FILE* dict=fopen(dict_name,"r");
    if(NULL==dict)
    {
        printf("dict error!\n");
        return EXIT_FAILURE;
    }
    if(0!=fseek(dict,word->offset,SEEK_SET))
    {
        printf("seek error\n");
        return EXIT_FAILURE;
    }
    char explain[word->length+1];
    memset(explain,'\0',word->length+1);
    fread(explain,word->length,1,dict);
    printf("%s\n",explain);
    free(idx);
    return EXIT_SUCCESS;
}
예제 #2
0
int main(int argc,char**argv) {
    DICT_INFO* dict=get_dict_info("../dict/sample/sample1.ifo");
    if(dict==NULL)
    {
        printf("error\n");
        exit(EXIT_FAILURE);
    }
    printf("version:%s\n",dict->version);
    printf("bookname:%s\n",dict->book_name);
    printf("wordcount:%d\n",dict->word_count);
    printf("idxfilesize:%d\n",dict->idx_file_size);
    printf("sts:%s\n",dict->same_type_per_seq);
    printf("%s",dict->other_info);
    free(dict);
    return EXIT_SUCCESS;
}
예제 #3
0
bool Connector::send_meta_info()
{
	if (workdir_.empty())
		workdir_ = ".";
	return generator_.on_prepare_generator(workdir_, get_dict_info("basename"));
}