C/C++で漢字の読みを取得したいです。
C/C++で漢字の読みを取得したいです。
kakasiで以下のようなエラーになってしまいます。
ファイルの設定は
ネット上のサンプルを参考にし、LoadLibrary・GetProcAddressなどの関数を使いました。
以下の実行時エラー・警告が出てしまいました。
どこが問題ないのか解りません。ご存知の方がおられましたら教えてください。よろしくお願いいたします。
1>------ ビルド開始: プロジェクト: oto_0714, 構成: Debug Win32 ------
1>コンパイルしています...
1>oto_0714.cpp
1>c:\users\me\documents\visual studio 2005\projects\oto_0714\oto_0714.cpp(12) : warning C4996: 'putenv': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _putenv. See online help for details.
1> c:\program files\microsoft visual studio 8\vc\include\stdlib.h(900) : 'putenv' の宣言を確認してください。
1>c:\users\me\documents\visual studio 2005\projects\oto_0714\oto_0714.cpp(13) : warning C4996: 'putenv': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _putenv. See online help for details.
1> c:\program files\microsoft visual studio 8\vc\include\stdlib.h(900) : 'putenv' の宣言を確認してください。
1>ビルドログは "file://c:\Users\me\Documents\Visual Studio 2005\Projects\oto_0714\Debug\BuildLog.htm" に保存されました。
1>oto_0714 - エラー 0、警告 2==== ビルド: 1 正常終了、0 失敗、0 更新、0 スキップ ==========
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include "libkakasi.h"
void main(void){
HMODULE hKakasiDLL = LoadLibrary("C:\\kakasi\\bin");
int (__cdecl *kakasi_getopt_argv)(int, char**) = (int (__cdecl *)(int, char**))GetProcAddress( hKakasiDLL, "kakasi_getopt_argv" );;
char* (__cdecl *kakasi_do)(const char*) = (char* (__cdecl *)(const char*))GetProcAddress( hKakasiDLL, "kakasi_do" );
int (__cdecl *kakasi_free)(char *p) = (int (__cdecl *)(char *p))GetProcAddress( hKakasiDLL, "kakasi_free" );
putenv( "ITAIJIDICTPATH=C:\\kakasi\\share\\kakasi\\itaijidict");
putenv( "KANWADICTPATH=C:\\kakasi\\share\\kakasi\\kanwadict");
char* argv[] = {"kakasi", "-JH","-kH"};
kakasi_getopt_argv(3,argv);
char* hiragana = kakasi_do("文");
printf("%s\n", hiragana);
kakasi_free(hiragana);
FreeLibrary(hKakasiDLL);
}
お礼
感情移入することが出来るかどうかによって判断する。 大変参考になりました。有難うございました。