打印 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);
}
我是 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);
}