首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

linux下字符串存储的有关问题

2012-03-16 
linux下字符串存储的问题char A[5]int b 1234如何保存使A[0] 34A[1] 12A[2] 00A[3] 00A[4]

linux下字符串存储的问题
char A[5];
 int b = 1234;

如何保存使A[0] = 34
  A[1] = 12
  A[2] = 00
  A[3] = 00
  A[4] = 00

即 A[5] = "3412000000";

我保存后总是“D204000000”,郁闷哪,求救,谢谢各位

[解决办法]
仅供参考

C/C++ code
#include <stdio.h>#include <stdlib.h>#include <conio.h>unsigned int iv,i;unsigned char BCD[5];//定长10位BCD码unsigned char sv[11];void main() {    iv=123456789;//最大10位无符号正整数    //INT2BCD    sprintf(sv,"%010u",iv);    for (i=0;i<10;i+=2) {        BCD[i/2]=(sv[i]<<4)|(sv[i+1]&0x0F);    }    printf("BCD=%02x%02x%02x%02x%02x\n",BCD[0],BCD[1],BCD[2],BCD[3],BCD[4]);    //BCD2INT    for (i=0;i<10;i+=2) {        sv[i]='0'|(BCD[i/2]>>4);        sv[i+1]='0'|(BCD[i/2]&0x0F);    }    sscanf(sv,"%010u",&iv);    printf("iv=%010u\n",iv);    getch();} 

热点排行