为了给予上下文,我有一个十六进制值的传入流,它被写入一个CSV文件,格式如下所示。
20 5a 20 5e 20 7b 20 b1 20 64 20 f8 ...
我不能改变数据的流动方式,但在它被写入CSV文件之前,我希望它在下面的这种格式。
205a 205e 207b 20b1 2064 20f8 ...
当数据到来时,我需要处理它,并以上面所示的格式存储它。我尝试的方法之一是进行位移位和逻辑或,将结果存储在一个变量中。但我这里只有一个指针,指向数据将流入的缓冲区。我有这样的东西。
uint8_t *curr_ptr;
uint8_t* dec_buffer=(uint8_t*)calloc(4000,sizeof(uint8_t)*max_len);
init=dec_buffer;
curr_ptr=init+((count)*max_len);
for(int j=17;j<=145;j+=1){
fprintf(f_write[file_count],"%02x ", *(curr_ptr+j));
if(j>0 && j%145==0){
fprintf(f_write[file_count],"\n");
1条答案
按热度按时间6jygbczu1#
实际上,你想删除每隔一个空间。为什么不这样做呢?
不确定是否应该在
j
的奇数值或偶数值后打印空格,但可以解决这个问题。