压扁这个Android NDK文件访问错误
我不明白为什么这个解决方案会允许我使用of stream/ifstream打开和修改文件字节,但读/写操作不会更新通过tellp/tellg函数调用访问的指针 这是一个不起作用的示例:压扁这个Android NDK文件访问错误,android,c++,file,android-ndk,Android,C++,File,Android Ndk,我不明白为什么这个解决方案会允许我使用of stream/ifstream打开和修改文件字节,但读/写操作不会更新通过tellp/tellg函数调用访问的指针 这是一个不起作用的示例: std::ofstream oStream(path,std::fstream::beg | std::fstream::binary); int test = 98; LOGI("OSTREAM POINTf :: %d", oStream.tellp()); oStream.write((
std::ofstream oStream(path,std::fstream::beg | std::fstream::binary);
int test = 98;
LOGI("OSTREAM POINTf :: %d", oStream.tellp());
oStream.write((char *)&test,4);
LOGI("OSTREAM POINT :: %d", oStream.tellp());
oStream.close();
oStream.clear();
在这两种情况下,上面的日志都是:0
不能说它没有写入文件。因为我可以轻松地写入和读取任何我想要的字节。问题是,它只能读取/写入文件开头的字节
此权限已提供给我的清单,我已确保设备本身允许此权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
std::fstream::beg
对于std::ofstream
的构造函数无效,请参见,我已将其从解决方案中删除,但仍然请求。。。我无法将流指针移到lift。我认为它必须在每次写入新内容时创建一个新文件。这完全粉碎了我的优化尝试。啊哈,谢谢你的输入。我重新构造了我的代码,现在我可以提升流指针了。但我只能通过读和写来做到这一点;寻找?不起作用。