由于itoa函数仅在windows中可以使用,在linux中没有相应的函数,这里实现一个itoa函数,包括进制转换功能,正负数都能转换。具体见注释:

char* itoa(int value, char* str, int radix) {static char dig[] ="0123456789""abcdefghijklmnopqrstuvwxyz";int n = 0, neg = 0;unsigned int v;char* p, *q;char c;/* 负数:十进制直接在前面加负号,其它进制用补码 */if (radix == 10 && value < 0) {v = -value;neg = 1;}else{v = value;}/* 其它进制的负数转为unsigned int类型,即取了补码 */do {str[n++] = dig[v%radix];v /= radix;} while (v);if (neg)str[n++] = '-';str[n] = '\0';/* 字符串反转 */for (p = str, q = p + (n-1); p < q; ++p, --q)c = *p, *p = *q, *q = c;return str;
}
  • 负数结果的范围与编译器支持的位数有关,如果是32位则为32位
  • 注意传入的str指针的大小,不要超过范围

C语言实现itoa函数【精简】相关推荐

  1. 自己用C语言写itoa 函数和atoi函数

    有些库中有atoi()函数,但没有itoa()函数,怎么办?自己写啊!!! 一:先来看看库atoi()函数和itoa()函数的用法: 1.atoi 是把字符串转换成整型数的一个函数,int atoi( ...

  2. c语言itoa函数用指针怎么写,C语言实现itoa函数

    最近在写C语言用到了_itoa函数自己也想着实现一个. 首先要知道_itoa函数是干什么的,在百度百科上对itoa函数有这样一句:"itoa取整数输入值,并将其转换为相应进制数字的字符串.& ...

  3. 【C语言】 itoa()函数 和 atoi()函数(字符串与整型数的转换)

    文章目录 一.atoi()函数 二.itoa()函数 三.利用atoi() 和itoa()函数进行进制转换 一.atoi()函数 atoi()是C语言中的字符串转换成整型数的一个函数 (1)[头文件] ...

  4. C语言自我实现itoa函数

    自我实现itoa函数 itoa是一个可以将数字转化成字符串的函数,在直接调用此函数时需要#include <stdlib.h> 数字转化成字符串算法实现 首先将我们需要将数字的每一位算出, ...

  5. C语言(itoa函数)

    itoa函数是将一个数字转化为其对应的进制数格式 例如  -10 转为10进制 -10 4转为2进制  100 其主要思想是  其中唯一的特殊情况是负数的十进制形式,只要将其特殊处理即可 求进制的方法 ...

  6. C语言 itoa函数及atoi函数

    C语言 itoa函数及atoi函数 itoa函数及atoi函数 2007-05-11 13:52 C语言提供了几个标准库函数,可以将任意类型(整型.长整型.浮点型等)的数字转换为字符串.以下是用ito ...

  7. 整型数转换为字符串的itoa()函数C语言实现

    1. itoa()函数介绍 itoa()函数是c语言中的一个库函数,功能是把整型数转换为相应进制的字符串.但是我在linux下使用这个函数时,编译链接时找不到这个函数,查找资料才发现linux下并没有 ...

  8. c语言itoa函数用指针怎么写,C语言中实现itoa函数的实例

    搜索热词 C语言中实现itoa函数的实例 一.原型: char *itoa( int value,char *string,int radix); 二.函数说明: value:欲转换的数据. stri ...

  9. C语言itoa()函数和atoi()函数详解(整数转字符C实现)

    C语言提供了几个标准库函数,可以将任意类型(整型.长整型.浮点型等)的数字转换为字符串. 1.int/float to string/array: C语言提供了几个标准库函数,可以将任意类型(整型.长 ...

最新文章

  1. Linq学习from let where子句
  2. 浏览器内核_测量时间:从Java到内核再到
  3. CentOS 7.6 MySQL 8.0 RPM包方式安装及新特性介绍
  4. 一款小清新的 SpringBoot+ Mybatis 前后端分离后台管理系统项目
  5. 小白2分钟学会Visual Studio将引用包打包到NuGet上
  6. hadoop2 Ubuntu 下安装部署
  7. IO模型(epoll)--详解-01
  8. STM32H743+CubeMX-学习FDCAN控制器上的TxFIFO
  9. ssm 跨库查询_SSM使用AbstractRoutingDataSource后究竟如何解决跨库事务
  10. Leetcode 814.二叉树剪枝
  11. js学习总结----浏览器滚动条卷去的高度scrolltop
  12. JavaSE基础——IO流详解(1)字节流和字符流
  13. LayaAir UI组件 # Tab 选项卡按钮组
  14. Python npy文件
  15. java的log计算_Java普通对数(log)计算方法
  16. win10设置计算机关机时间,win10怎样固定时间关机_win10怎样设置电脑关机时间设置...
  17. 算法分析之大O、大Ω、大Θ和小o表示法
  18. narwal无法连接机器人_ABB机器人驱动通讯连接不上故障维修方法
  19. iptv增值业务--华为机顶盒视频播放代码
  20. 使用fasttext完成文本处理及文本预测

热门文章

  1. 朋友圈又被支付宝刷屏,年度账单的背后其实是人性
  2. 调用第三方接口的三种方式
  3. meltdown linux 内核,内核开发者称应更新Linux内核应对 Meltdown 和 Spectre漏洞
  4. 【面经】鼎桥通信-Java
  5. python冒泡排序原理_python冒泡排序详解
  6. 冒泡排序算法-DEMO
  7. 深信服2018年秋招测试工程师面试
  8. js 判断 div 的 隐藏 和显示
  9. SpringBoot JPA 配置多个数据库
  10. NDK OpenGL ES 3.0 开发(四):VBO、EBO 和 VAO