我有一个名为long long intiData类型的变量;
iData计数从1到最大值。
我需要将这个变量复制到char数组。
我试过下面的方法

long long int iData;
char cDataBuffer[8];

for(i=0;i<8;i++) {
  cDataBuffer[i]= (iData & 0XFF);
  iData = (iData >>8);
}

但我想把它存储在指针变量char *pDataBuffer的动态变量中。
有人能建议如何存储这个可变的iData变量长度吗。

最佳答案

下面的逻辑可以帮助你

long long int iData;
char *cDataBuffer;

cDataBuffer = malloc(sizeof(char) * sizeof(iData));

for (i = 0; i < sizeof(iData); i++)
{
  cDataBuffer[i] = ((iData >> (i * 8)) & 0XFF);
}

关于c - 将long long int的值动态复制到char数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24597582/

10-11 04:17