I'm using Zephyr RTOS on nRF52832, and I need to convert int (> 10) into char.
I have this function :
char* int2char(int data)
{
   int test[7] = {0};
   char c[7];
   int nbdata = powerTen(data);
   int i, rest = 0;
   for (i=0;i <= nbdata ; i++)
   {
       int pow = power(10,nbdata-i);
       test[i] = data /pow - rest;
       c[i] = '0' + test[i];
       // subtract everything that has been calculated before
       rest = rest*10 + test[i]*10;
   }
   printk("in function : int2char C : %c\n",*c);
   printk("in function : int2char C : %c\n",*(c+1));
   printk("in function : int2char C : %c\n",*(c+2));
   printk("in function : int2char C : %c\n",*(c+3));
   printk("in function : int2char C : %c\n",*(c+4));
   printk("in function : int2char C : %c\n",*(c+5));
   printk("in function : int2char C : %c\n",*(c+6));
   return c;
}
And this in main():
char *c = int2char(987654);
    printk("int2char C : %c\n",*c);
    printk("int2char C : %c\n",*(c+1));
    printk("int2char C : %c\n",*(c+2));
    printk("int2char C : %c\n",*(c+3));
    //...
in Putty, I have: Putty Screen for the printk
printk in function works well but not in main. I have tried several things and searched for hours, nothing works.
 
    