前回のコードに適当にちょい足しです。ちゃんとやるには、変換バッファー長なども確認しないと。
#include <iostream>
#include <stdio .h>
#include "clx/http.h"
#include "clx/uri.h"
#include "unicode/translit.h"
//ローマ字→ひらがな変換関数
void
latin2hiragana(UnicodeString text, char *buf){
UErrorCode status = U_ZERO_ERROR;
Transliterator *myTrans =
myTrans->createInstance("Latin-Hiragana",
UTRANS_FORWARD,status);
myTrans->transliterate(text);
text.extract(0,text.length(),buf,"utf-8");
}
int
main(int argc, char* argv[]) {
const char *host = "www.google.com";
char *request;
char buf2[1024];
char buf[1024];
if (argc != 2 ) return 0;
latin2hiragana(argv[1], buf2);
snprintf(buf, sizeof(buf),
"/transliterate?langpair=ja-Hira|ja&text=%s",
buf2);
request = buf;
try {
clx::http session(host);
結果!!
ちょっと普段使っているローマ字と変換テーブル (?) が違うようです (「わたせぃ」ってなんでしょ?)。最終的には、自前で変換関数を作らないといけないかも。
0 件のコメント:
コメントを投稿