C语言 int转char*

我有一个int类型变量,

我想要把它转化成char*类型变量,

我要怎么做?

int a=xxxx;
char *b = (char *)&a;

相当于将a得地址转成char*类型

你可以这样:

char tmp[200];
int test_int_number=123;
sprintf(tmp,"%d",test_int_number);

这样tmp这个char * 内容就是 "123"

是否这样的功能:

#include <stdio.h>
#include <stdlib.h>
int main ()
{
    int i;
    char buffer[33], *p;
    printf ("Enter a number: ");
    scanf ("%d",&i);    //输入整数i

    p = itoa(i,buffer,10);    //将i转化为10进制数,存到buffer中
    printf ("decimal: %s\n",buffer);    //输出打印buffer

    p = itoa(i,buffer,16);    //将i转化为16进制数,存到buffer中
    printf ("hexadecimal: %s\n", p);//输出打印buffer

    p = itoa(i,buffer,2);    //将i转化为2进制数,存到buffer中
    printf ("binary: %s\n",buffer);//输出打印buffer

    return 0;
}

很简单,定义一个宏定义如下:

#define tostr(x) #x

使用的时候tostr(123)就变成了“123”