2 char uart_buff[10]={0};
3 char protocal_buf[10]={0};
4 char str[5]={0};
5
6 char itoa(unsigned int num,char str[])
7 {
8 char i = 0;
9 char j = 0;
10 char temp[10]= {0};
11
12 //第一步,1234 to "4321"
13 do
14 {
15 temp[i] = num % 10 + '0';
16 num /= 10;
17 i++;
18 } while(num > 0);
19 temp[i] = '\0';
20 i--;
21 //第三步,"4321-" ====> "-1234"
22 while(i >= 0)
23 {
24 str[j] = temp[i];
25 j++;
26 i--;
27 }
28 str[j] = '\0';
29 return j;
30 }
31
32 void Int2String(unsigned int int_data,unsigned char data_length_set)
33 {
34 unsigned char data_length;
35 data_length = itoa(int_data,protocal_buf);
36 if(data_length)
37 strncat(uart_buff,ZERO_TRING,data_length_set-data_length);
38 strcat(uart_buff,protocal_buf);
39 }
40
41 void main(void)
42 {
43 unsigned char data_length=0;
44 data_length = itoa(1,str);
45 printf("data_length = %d\n",data_length);
46 printf("str = %s\n",str);
47
48 Int2String(1234,5);
49 printf("uart_buff = %s",uart_buff);
50 }