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

时间:2023-03-09 16:28:27
在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;
}