Esempio n. 1
0
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    resultdialog = new ResultDialog;

    loadFeature();
    loadDic();
    loadVSM();
    loadBayes();

    //connect(ui->FileBrowse,SIGNAL(clicked()),this,SLOT(onFileBrowseButton()));
    connect(ui->Run,SIGNAL(clicked()),this,SLOT(textClassify()));
    connect(this,SIGNAL(textClassifyCompleted(QString)),resultdialog,SLOT(showResult(QString)));

    QTextCodec *codec=QTextCodec::codecForName("System");
    QTextCodec::setCodecForCStrings(codec);
    QTextCodec::setCodecForLocale(codec);
    QTextCodec::setCodecForTr(codec);

}
int main(int ac, char **av)
{
	int iret;

	// ロケールの設定(ファイルの入出力にwchar_tを使うために必要)
	setlocale(LC_ALL, "") ;

	// 辞書ファイルをメモリにマップ
	void *pSysDic;
	void *pUserDic;
	loadDic(av[1], &pSysDic, &pUserDic);
	if(pSysDic==0) return 1;	// load error

	// AqKanji2Koe初期化(インスタンス生成)
	void *hAqKanji2Koe = AqKanji2Koe_Create_Ptr(pSysDic, pUserDic, &iret);
	if(hAqKanji2Koe==0) return iret;

	for(;;){
		wchar_t wch[1024];
		if(fgetws(wch, 1024, stdin)==0) break;

		// 解析
		wchar_t wKoe[1024];
		iret =AqKanji2Koe_ConvertW(hAqKanji2Koe, wch, wKoe, 1024); //入出力はUTF16(LE)
		if(iret!=0) break;	// error

		std::wcout << wKoe << std::endl;
	}

	// AqKanji2Koe解放
	AqKanji2Koe_Release(hAqKanji2Koe);

	// 辞書データ解放
	// 	メモリマップトファイルのunmapは、CAqMmapのデストラクタで呼ばれる

	return iret;
}