C语言 int类型转为char指针类型

C语言 int类型转为char指针类型

int rate=8000;
char* str=NULL;

代码如上,如何将int类型rate转为char* 类型str,并且str的值是"8000"

万能的printf可以,但是过于消耗内存

#include <stdio.h>
#include <stdlib.h>

int main(void) {
  int rate = 8000;
  char* str=malloc(10);
  sprintf(str, "%d", rate);
  printf("str:%s\n", str);
  return EXIT_SUCCESS;
}
阅读 7.6k
2 个回答

标准的C语言没有提供int转为char*类型的函数,非标准的C语言提供的atoi函数,可以自己参考atoi的源码实现,下面的是我的实现和测试代码

#include "bill-ce.h"
#include <stdio.h>
void test_ce_itoa();
int main() {
  test_ce_itoa();
  return 0;
}

void test_ce_itoa() {
  int number = 123456;
  char string[25];
  ce_itoa(number, string, 10);
  printf("integer = %d string = %s\n", number, string);
}

实现代码
https://gitee.com/litongjava_...

str = (char*) rate;

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进