Android NDK 中的 u16string 和 char16_t
我希望在 Android NDK 中创建 (std::getline()
) 并操作 UTF-16 字符串,以便我可以(相对)轻松地将它们传递回 Java 进行显示。目前,我正在使用 C++0x,使用 LOCAL_CPPFLAGS := -std=c++0x
开关,该开关有效(我正在使用其他一些 0x 函数)。编译器似乎找不到 u16string
。我已经包含了
,并且没有收到其他错误。我想做一些事情,例如:
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 之类的?我应该怎么办?
I wish to create (std::getline()
) and manipulate UTF-16 strings in the Android NDK, so that I can pass them (relatively) painlessly back to Java for display. Currently, I'm using C++0x, using the LOCAL_CPPFLAGS := -std=c++0x
switch, which works (I'm using some other 0x functions). Seems the compiler can't find u16string
. I've included <string>
, and get no other errors. I wish to do something such as:
ifstream file(fileName);
if(!file.is_open()) {
return false;
}
while(!file.eof()) {
u16string fileLine;
std::getline(file, fileLine);
// Do stuff with fileLine
}
return true;
Does the NDK include an out-of-date version of GCC or something? What should I do?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
NDK 不(至少不正式)支持宽字符、UTF-16 或类似的字符。它也不提供适当的 C++ 库。
The NDK does not (at least not officially) support wide characters, UTF-16 or anything like that. Nor does it provide a proper C++ library.