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

问题描述 投票:-2回答:1

我是C ++的新手,我想在将char *指针的数据写入文件之前显示它的数据,但仅输出前5个字节。我不知道这是怎么回事。我正在使用__android_log_print显示日志。

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

enter image description here

Logcat显示:

WriteUnbuffered文件名= /data/user/0/com.abc.helloleveldb/databases/leveldb/000003.log

WriteUnbuffered大小= 37,加密之前的数据=�->仅5字节。

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

enter image description here

如果您有任何建议,请帮助我。谢谢

c++ leveldb
1个回答
0
投票

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

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

for(size_t i=0; i<size; ++i) {
    LOGD("WriteUnbuffered data[%zu]=0x%02x", i, (data[i])&0xff);
}
© www.soinside.com 2019 - 2024. All rights reserved.