我是C ++的新手,我想在将char *指针的数据写入文件之前显示它的数据,但仅输出前5个字节。我不知道这是怎么回事。我正在使用__android_log_print显示日志。
这是将数据写入文件的代码:
Logcat显示:
WriteUnbuffered文件名= /data/user/0/com.abc.helloleveldb/databases/leveldb/000003.log
WriteUnbuffered大小= 37,加密之前的数据=�->仅5字节。
但是数据写入完整文件,两对数据(test:okok和test1:hello)
如果您有任何建议,请帮助我。谢谢
data
处的缓冲区内容看起来是二进制数据,不适合以%s
格式传递。
我建议分别遍历每个字符(字节)并记录十六进制值,如下所示:
for(size_t i=0; i<size; ++i) {
LOGD("WriteUnbuffered data[%zu]=0x%02x", i, (data[i])&0xff);
}