在Linux下使用sprintf代替atoi实现整型转化为char*

程序中需要用到将整型转化为char*类型,然后将两个char*类型的变量拼接。将整型转化为char*自然想到了itoa函数:

头文件:#include <stdio.h>
char *itoa(int value, char *string, int radix);
int value 被转换的整数,char *string 转换后储存的字符数组,int radix 转换进制数

但是在linux下,itoa函数没有定义,所以使用sprintf函数代替。

#include <iostream>
#include"Hash.h"

using namespace std;

int main()
{
    hash_table *hid;
    char * key = new char[100];
    char * tmp = new char[5];
    strcpy(key, "hello-");
    hid = hash_create();
    hash_link link[5];
    for(int j=0; j<5; j++)
    {
        link[j].next = NULL;
        sprintf(tmp,"%d",j);  //将整型转化为char*
        strcat(key,tmp);      //将两个char*字符串拼接,结果保存在第一个参数中   
        link[j].key = key;
        hash_join(hid, &link[j]);
    }

    return 0;
}


原文地址:https://www.cnblogs.com/javawebsoa/p/3241508.html