## How to convert integer to char in C?

### Question

How to convert integer to char in C?

2015/06/02
1
65
6/2/2015 6:23:24 PM

You can try atoi() library function. Also sscanf() and sprintf() would help.

Here is a small example to show converting integer to character string:

``````main()
{
int i = 247593;
char str[10];

sprintf(str, "%d", i);
// Now str contains the integer as characters
}
``````

Here for another Example

``````#include <stdio.h>

int main(void)
{
char text[] = "StringX";
int digit;
for (digit = 0; digit < 10; ++digit)
{
text[6] = digit + '0';
puts(text);
}
return 0;
}

/* my output
String0
String1
String2
String3
String4
String5
String6
String7
String8
String9
*/
``````
2010/02/17

Just assign the `int` to a `char` variable.

``````int i = 65;
char c = i;
printf("%c", c); //prints A
``````
2016/03/15

To convert integer to char only 0 to 9 will be converted. As we know 0's ASCII value is 48 so we have to add its value to the integer value to convert in into the desired character hence

``````int i=5;
char c = i+'0';
``````
2020/03/06

To convert int to char use:

``````int a=8;
char c=a+'0';
printf("%c",c);       //prints 8
``````

To Convert char to int use:

``````char c='5';
int a=c-'0';
printf("%d",a);        //prints 5
``````
2015/07/06

`````` void main ()
{
int temp,integer,count=0,i,cnd=0;
char ascii[10]={0};
printf("enter a number");
scanf("%d",&integer);

if(integer>>31)
{
/*CONVERTING 2's complement value to normal value*/
integer=~integer+1;
for(temp=integer;temp!=0;temp/=10,count++);
ascii[0]=0x2D;
count++;
cnd=1;
}
else
for(temp=integer;temp!=0;temp/=10,count++);
for(i=count-1,temp=integer;i>=cnd;i--)
{

ascii[i]=(temp%10)+0x30;
temp/=10;
}
printf("\n count =%d ascii=%s ",count,ascii);

}
``````
2015/08/22