用ubuntu linux c编程,发现Linux内核中只有atoi()函数,被包含在stdlib.h头文件中,而没有itoa()函数,网上查了有一个实现了itoa()函数的代码

void   itoa   (   unsigned   long   val,   char   *buf,   unsigned   radix   )
{   char   *p;                                 /*   pointer   to   traverse   string   */   char   *firstdig;                   /*   pointer   to   first   digit   */   char   temp;                             /*   temp   char   */   unsigned   digval;                 /*   value   of   digit   */   p   =   buf;   firstdig   =   p;                       /*   save   pointer   to   first   digit   */   do   {   digval   =   (unsigned)   (val   %   radix);   val   /=   radix;               /*   get   next   digit   */   /*   convert   to   ascii   and   store   */   if   (digval   >   9)   *p++   =   (char   )   (digval   -   10   +   'a ');     /*   a   letter   */   else   *p++   =   (char   )   (digval   +   '0 ');               /*   a   digit   */   }   while   (val   >   0);   /*   We   now   have   the   digit   of   the   number   in   the   buffer,   but   in   reverse   order.     Thus   we   reverse   them   now.   */   *p--   =   '\0 ';                         /*   terminate   string;   p   points   to   last   digit   */   do   {   temp   =   *p;   *p   =   *firstdig;   *firstdig   =   temp;       /*   swap   *p   and   *firstdig   */   --p;   ++firstdig;                   /*   advance   to   next   two   digits   */   }   while   (firstdig   <   p);   /*   repeat   until   halfway   */
}

不过,测试时发现这个实现将数字转换成了乱码。比较简洁的方法是用sprintf()函数代替。具体代码如下:

  #include <stdlib.h>#include <stdio.h>int main(){int number = 429496729;char string[25];sprintf(string, "%d", number);printf("integer = %d string = %s\n", number, string);return 0;}

此时string就是转换后的字符串值

Linux C编程下没有 itoa()函数的问题相关推荐

  1. linux系统编程下的open函数使用方法

    目录 1.句柄(file descriptor 简称fd) 2.使用open前需要先包含头文件 3.参数说明 3.1 参数1(pathname) 3.2 参数2(flags) 3.3 参数3(mode ...

  2. Linux下无法使用 itoa 函数的解决方法

    起因 在Linux环境下进行C++编程,使用 itoa 函数时出现以下错误: ' itoa ' was not declared in this scope. 翻阅Linux下的 stdlib.h 头 ...

  3. Linux系统编程 37 -makefile2个函数和clean

    Linux系统编程 37 -makefile2个函数和clean 学习笔记 一个makefile 就是用一个个规则凑在一起 2个函数 wildcard patsubst wildcard 百搭牌,通配 ...

  4. itoa 头文件 linux,Linux下的itoa函数

    linux需要itoa函数,下面我就提供一份跨平台的itoa函数. //return the length of result string. support only 10 radix for ea ...

  5. Linux网络编程 | 信号 :信号函数、信号集、统一事件源 、网络编程相关信号

    文章目录 信号函数 信号集 统一事件源 网络编程相关信号 Linux 进程信号:信号的概念.生命周期.产生流程.阻塞 在半年前我写过一篇博客介绍了Linux中信号的概念以及处理流程,这次再来深入的讲一 ...

  6. Linux进程编程(PS: exec族函数、system、popen函数)

    目录 1.进程相关概念 程序和进程 查看系统中的进程 ps指令 top指令 进程标识符 使用getpid()获取 父进程,子进程 2.创建进程fork 进程创建发生了什么--C程序的存储空间如何分配 ...

  7. linux网络编程--shut_down和close()函数的区别

    在Linux C网络编程中,一共有两种方法来关闭一个已经连接好的网络通信,它们就是close函数和shutdown函数,它们的函数原型分别为: 1 #include<unistd.h> 2 ...

  8. Linux网络编程——I/O复用函数之epoll

    https://blog.csdn.net/lianghe_work/article/details/46544567 一.epoll概述 epoll 是在 2.6 内核中提出的,是之前的 selec ...

  9. linux系统编程3—文件存储函数

    文章目录 1.innode 2.dentry 3.stat函数 4.lstat函数 5.access函数.chmod函数.truncate函数 6.link函数 7.unlink函数 unlink的特 ...

最新文章

  1. torch 特征对齐
  2. 解决PHP大文件上传问题
  3. LeetCode 75. Sort Colors (python一次遍历,模拟三路快排)
  4. 编程算法 - 将排序数组按绝对值大小排序 代码(java)
  5. python docx 复制_python制作单词抽测题(word版)(一)
  6. 我的Markdown的利器——Markdown Here、有道云笔记、iPic
  7. 树莓派4b安装windows iot_树莓派4B基于python3安装opencv4全教程
  8. 南大通用发布数据库新产品 携手用户伙伴点亮世界级
  9. jquery 获取节点各种方法
  10. pgAdmin 4 v4.0 发布
  11. 常见的几类矩阵(正交矩阵、酉矩阵、正规矩阵等)
  12. 数据挖掘—GEO,TCGA,Oncomine联合(三)GEO数据的下载和数据质量分析
  13. lpx寒假作业案例11
  14. react-native >0.69版本 链接@ant-design/icons-react-native
  15. 《弃子长安》第九章 大漠金钩
  16. 艾永亮:如何“睡”出一只11亿美元的独角兽?
  17. 【C++】JOISC 2020 Day3原题+翻译+解析+代码
  18. 余压监控系统在绿建中的应用
  19. Java系列——五子棋的实现
  20. 1.什么是Spark

热门文章

  1. 惠普HP Deskjet 1010 打印机驱动
  2. MPU6050姿态解算1-DMP方式
  3. 在中国做量化交易一天的工作内容
  4. 飞机大战实现--c++
  5. java高级开发面试题
  6. 修改ubuntu桌面路径
  7. H.264 NALU分隔Annex B和avcC
  8. 常见网页错误代码解析404、400、500、408...
  9. 解决NoteExpress无法在Word中插入引用文献
  10. 干货!学霸用12个决策模型告诉你,如何判断你到底需不需要区块链!