打印 char* 指针的完整数据?

Print full data of char* pointer?

我是 C++ 的新手,我想在将其写入文件之前显示 char* 指针的数据,但输出只有前 5 个字节。我不知道它有什么问题。我正在使用 __android_log_print 来显示日志。

这是将数据写入文件的代码:

Logcat 显示:

WriteUnbuffered filename = /data/user/0/com.abc.helloleveldb/databases/leveldb/000003.log

WriteUnbuffered size = 37 ,data before encrypt = ��� -> only 5bytes .

但是数据写入了完整的文件,2对数据(test:okok和test1:hello)

如果你有什么建议,请帮助我。谢谢

data 缓冲区的内容看起来是二进制数据,不适合以 %s 格式传入。

我建议单独遍历每个字符(字节)并记录十六进制值,如下所示:

for(size_t i=0; i<size; ++i) {
    LOGD("WriteUnbuffered data[%zu]=0x%02x", i, (data[i])&0xff);
}