试图弄清楚插入数据的正确方法是什么。有什么帮助吗?以此处看到的方式执行此操作将导致不进行强制转换的整数。我已经尝试了几种方法,但是从没有尝试过。
lzo_bytep SERV_DATA_SEND = "702D31FA78809907133F1256459ABFECA9769AEAB65F3F125658";
in_len = IN_LEN;
lzo_memset(in,SERV_DATA_SEND,strlen(SERV_DATA_SEND));
printf("memset: %s\n\n", in);
答案 0 :(得分:1)
要在缓冲区中准备数据,应使用lzo_memcpy(in, SERV_DATA_SEND, strlen(SERV_DATA_SEND))
,它在第二个参数中接受chars。
pub unsafe extern "C" fn lzo_memcpy(
dst: *mut c_void,
src: *const c_void,
len: lzo_uint
) -> *mut c_void
在lzo_memset()
中,第二个参数接受一个整数。
pub unsafe extern "C" fn lzo_memset(
buf: *mut c_void,
c: c_int,
len: lzo_uint
) -> *mut c_void
例如,如果您要清除缓冲区,则可以使用下面的代码。它将所有块设置为零。
lzo_memset(in,0,in_len);
中的overlay.c和simple.c示例