如何解决如何使用 std::ifstream 在 Android 上使用 C++ 获取文件大小?
我正在尝试使用 std::ifstream
在 Android 中测量文件大小。我找到了 https://stackoverflow.com/a/5840160/5884503 并这样做了:
std::ifstream f;
f.open(filePath,std::ios_base::binary | std::ios::ate);
if (f.is_open()) {
ALOGV(TAG,"opened");
} else {
ALOGV(TAG,"problem opening");
}
auto size = f.tellg();
f.close();
__android_log_print(ANDROID_LOG_VERBOSE,"my tag","filesize: %ld",size);
而且我总是将文件大小设为 0
,即使文件肯定存在并且超过 1mb。
我知道这可以通过 std::filesystem
完成,但 Android 尚未支持或不支持此功能。那么,如何处理 std::ifstream
?
我的格式可能有问题吗?我不这么认为。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。