C 语言 AVR单片机中 一个长整形变量值转换成字符串 50
volatileUDBWORDsystimeclock;charbuffer[20];systimeclock为这个变量怎么转换我查了下ltoa(systimeclock...
volatile UDBWORD systimeclock;
char buffer[20];
systimeclock为这个变量 怎么转换 我查了下 ltoa(systimeclock,buffer,10);
编译不过去
最好有没有直接函数能给这个变量值 给一个数组 一个数组 保留2为例如
12345678
B[1]=12 b[2]=34 b[3]=56 b[4]=78 展开
char buffer[20];
systimeclock为这个变量 怎么转换 我查了下 ltoa(systimeclock,buffer,10);
编译不过去
最好有没有直接函数能给这个变量值 给一个数组 一个数组 保留2为例如
12345678
B[1]=12 b[2]=34 b[3]=56 b[4]=78 展开
展开全部
你的例子就有问题,首先你要转换成的是字符串,怎么可能一个数组元素里放两个字符,两个字符也就叫字符串了,如果你非要每两个字符放一起,那就需要建立一个二维数组来存放。直接的库函数我不知道有没有,我一般遇到这种是采取的下面这种方法
1。建一个字符串表,就是一个数组 num[10]="0123456789"
2。把需要转换的变量每一位提取出来,对照表来赋字符值
1。建一个字符串表,就是一个数组 num[10]="0123456789"
2。把需要转换的变量每一位提取出来,对照表来赋字符值
更多追问追答
追问
那比方 a=1234 我需要给他换成字符串形式的1234 怎么写
追答
字符串就是一个char类型的数组而已
首先定义一个数字的字符串表 unsigned char num[10]="0123456789"
然后提取每一位a=1234 有4位 我们开辟一个存放这4个字符的数组 b[4]
b[0] = num[a/1000];
b[1] = num[(a%1000)/100];
b[2] = num[((a%1000)%100)/10];
b[3] = num[((a%1000)%100)%10];
你需要两两一起 就需要开辟二维数组
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询