我希望在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 ++库。