首页 > 解决方案 > 如何使用 std::ifstream 在 Android 上使用 C++ 获取文件大小?

问题描述

我正在尝试使用std::ifstream. 我找到了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呢?

我的格式可能有问题吗?我不这么认为。

标签: androidc++java-native-interface

解决方案


推荐阅读