如何将int型数值赋值给char型数组

比如如何将int = 4赋给a[100]?
pc1 = a
*pc1 = 0xFF;
*(pc1+1) = 0x01
*(pc1+2) = (char)sum;
*(pc1+3) = (char)(sum >> 8);
*(pc1+4) = (char)(sum >> 16);
*(pc1+5) = (char)(sum >> 24);
sum++;
这样可以吗??

int型是四个字节大小,char 型是一个字节。
所以int型赋值给char数组需要把int型拆分。

int型拆分成四个字节,按顺序保存在char型数组中就可以了。
具体代码如下:
int i =4;
char a[100];
for(int j=0;j<sizeof(int);j++)
{
a[j]=((i>>(8*j))&0xff);

}
其中int型的值4就保存在了char型的数组a中了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-08-19
char a[100];
int i = 4;
int loop = 0;
for(loop=0;loop<100;loop++)
{
a[loop] = (char)i;//注意强制类型转换!!!
}本回答被网友采纳
第2个回答  2011-08-19
char a[100];
int i;
for(i=0;i<100;i++) //100个数组元素都赋值为4。
a[i]=4;
第3个回答  2011-08-19
fill(a,a+100,4)
也可 memset(a,4,100)
相似回答