我使用這個lib目錄下:https://github.com/mysolution/hyphenator在JNI我創建這個函數:的Android NDK和__android_log_print
int main2()
{
//load russian hyphenation patterns
struct pattern_list_t* plist = create_pattern_list();
size_t i = 0;
while (patterns[i])
{
struct pattern_t* p = create_pattern(patterns[i], isdigit_func, ismarker_func, char2digit_func);
add_patern(plist, p);
++i;
}
sort_pattern_list(plist);
//hyphenate test words
size_t word_index = 0;
while (test_words[word_index])
{
struct word_hyphenation_t* wh = hyphenate_word(test_words[word_index], plist, marker);
i = 0;
while (test_words[word_index][i])
{
__android_log_print(ANDROID_LOG_INFO, "HelloNDK!", "%c", test_words[word_index][i]);
++i;
}
destroy_word_hyphenation(wh);
++word_index;
}
//cleanup
destroy_pattern_list(plist);
return 0;
}
在Android的NDK這項工作,但我在logcat中得到:
02-21 16:15: 18.989:INFO/HelloNDK!(403):
如何解決此問題?我認爲編碼問題,但我不知道如何解決這個問題。
我可以確認我得到這嘗試註銷ASCII字符,但我可以註銷myString.c_str();在單獨調用__android_log_print的時候,雖然看起來問題在於char *的連接,但是id愛知道修復這個問題。如果我知道它會發布。 – Dev2rights 2012-05-21 08:29:14
你似乎有一個類型不匹配,但沒有聲明'test_words'我不知道。編譯器應該可以(gcc對printf格式類型有特殊的支持);打開警告。 – 2013-01-04 15:29:43