Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 可变长度数量C到目标C_Objective C_Variant - Fatal编程技术网

Objective c 可变长度数量C到目标C

Objective c 可变长度数量C到目标C,objective-c,variant,Objective C,Variant,如何在Objective-C中将int转换为VLQ,这样就可以得到类似于中的变量 我从中找到了这个,想知道如何将它转换为Objective-C #include <stdio.h> #include <stdint.h> #include <stdlib.h> #define BUFLEN 8 #define MAX_UINT32_AS_VLQ 8 size_t uint32_to_vlq(uint32_t number, uint8_t *buf, si

如何在Objective-C中将int转换为VLQ,这样就可以得到类似于中的变量

我从中找到了这个,想知道如何将它转换为Objective-C

#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>

#define BUFLEN 8

#define MAX_UINT32_AS_VLQ 8
size_t uint32_to_vlq(uint32_t number, uint8_t *buf, size_t buflen)
{
  uint8_t ibuf[MAX_UINT32_AS_VLQ];
  size_t written = 0, i;

  if (buflen == 0) return 0;

  if ( number < 128 )
  {
    *buf = number;
    return 1;
  }

  ibuf[0] = number & 0x7f; 
  written++;
  number >>= 7;
  while(number > 0)
  {
    ibuf[written] = (number & 0x7f) | 0x80;
    number >>= 7;
    written++;
  }

  if (written > buflen) return 0;

  for(i = 0; i < written; i++) buf[i] = ibuf[written-i-1];

  return written;
  }
#包括
#包括
#包括
#定义BUFLEN 8
#将MAX_UINT32_定义为_VLQ 8
尺寸uint32至vlq(uint32编号,uint8*buf,尺寸buflen)
{
uint8_t ibuf[最大UINT32_AS_VLQ];
写入的大小=0,i;
如果(buflen==0)返回0;
如果(数字<128)
{
*buf=数量;
返回1;
}
ibuf[0]=编号&0x7f;
书面++;
数量>>=7;
而(数量>0)
{
ibuf[写入]=(数字&0x7f)| 0x80;
数量>>=7;
书面++;
}
如果(writed>buflen)返回0;
对于(i=0;i

提前感谢

由于Objective-C是C的超集,您可以在Objective-C代码中直接使用此C代码。

由于Objective-C是C的超集,您可以在Objective-C代码中直接使用此C代码