我希望在Android NDK中创建(std::getline())并操作UTF-16字符串,以便我可以(相对)不费力地将它们传递回Java进行显示。目前,我正在使用C ++ 0x,并且可以使用LOCAL_CPPFLAGS := -std=c++0x开关(我正在使用其他一些0x函数)。似乎编译器找不到u16string。我已包含<string>,并且没有其他错误。我想做一些事情,例如:


ifstream file(fileName);
if(!file.is_open()) {
    return false;
}
while(!file.eof()) {
    u16string fileLine;
    std::getline(file, fileLine);

    // Do stuff with fileLine
}
return true;


NDK是否包含GCC的过期版​​本或其他内容?我该怎么办?

最佳答案

NDK不(至少不是正式地)支持宽字符,UTF-16或类似的东西。它也没有提供适当的C ++库。

09-30 15:00
查看更多