Beispiel #1
0
int main(int argc, char *argv[]){
  //all input files must be in UTF-8!
  setlocale(LC_ALL,"");

  if(argc != 4){
    printf("entrada invalida, formato: entrada busca saida\n");
    return 0;
  }

  TREE_NODE *tree = index_file(argv[1]);

  search_words(tree, argv[2], argv[3]);

  return 0;
}
Beispiel #2
0
int main( int argc, char ** argv )
{
	g_dict_list_t gdl;
	init_g_dict_list( &gdl );

	printf("正在加载词库...\n");	
	FILE * fp = fopen( CIKU_FILENAME, "rb" );
	if( fp == NULL ) {
		perror("fopen");
		return 1;
	}

	char words_line[1024];
	char explain_line[1024];
	char * ret;
	char * p;

	int len = 0;
	while( !feof( fp ) ) {
		ret = fgets( words_line, sizeof(words_line), fp );
		if( ret == NULL )
			break;

		p = strchr(words_line, '\n');
		*p = '\0';
		len += strlen( words_line );
		ret = fgets( explain_line, sizeof(explain_line), fp );
		if( ret == NULL )
			break;

		p = strchr(explain_line, '\n');
		*p = '\0';
		insert_dict_glist( &gdl, words_line, explain_line ); 	
	}
	printf("cha liao %d ci.\n", gdl.node_num );
	
	printf("加载完毕.\n");
	//traversal_glist( gdl.first_level );
	printf("len = %d\n", len );
	//return 0;

	show_window();	

	char input_buf[ winy ];
	move_input_window();
	int key;
	int input_off = 0;

	left_words_num = winy - 6;
	char left_words[ left_words_num ][MAX_WORDS_LEN];
	char * explain;

	insert_dict_glist( &gdl, "shit", "些特" );

	while( 1 ) {
		key = get_key( 0 );		
		switch( key ) {
			case BACKSPACE:
				if( input_off > 0 ) {
					move_left( 1 );
					putchar( ' ' );
					move_left( 1 );
					input_off --;

					input_buf[ input_off ] = '\0';
					bzero( left_words, sizeof(left_words) );

					search_words( &gdl, input_buf, left_words, &explain );

					show_left_words( input_buf, left_words );
					show_explain( input_buf, explain );
					fflush( NULL );
				}
				break;
			case ESC:
				clear_screen();
				move_xy( 1, 1 );
				exit( 0 );
				break;	
			default:
				if( input_off < winx - 20 ) {
					if( isprint( key ) ) 
						putchar( key );

					input_buf[ input_off ++ ] = key;

					input_buf[ input_off ] = '\0';
					bzero( left_words, sizeof(left_words) );
					search_words( &gdl, input_buf, left_words, &explain );

					show_left_words( input_buf, left_words );
					show_explain( input_buf, explain );
					fflush( NULL );
				}
		}
	}
		
	return 0;
}