当前位置: 首页 > 面试题库 >

Linux中的itoa函数在哪里?

冀啸
2023-03-14
问题内容

itoa()是将数字转换为字符串的便捷工具。Linux似乎没有itoa(),是否有等效的功能或者我必须使用sprintf(str, "%d", num)


问题答案:

编辑:对不起,我应该记得这台机器绝对是非标准的,libc出于学术目的已插入了各种非标准的实现;-)

由于itoa()确实不规范,如一些有用的评论者提到的,最好使用sprintf(target_string,"%d",source_int)或(更好的,因为它是从安全缓冲区溢出)snprintf(target_string, size_of_target_string_in_bytes, "%d", source_int)。我知道它不像它那么简洁或酷itoa(),但是至少您可以编写一次,到处运行(tm);-)

这是旧的(编辑过的)答案

您正确地说,默认值不像其他几个平台一样gcc libc包含itoa(),因为默认情况下它不是该标准的一部分。有关更多信息,请参见此处。请注意,您必须

#include <stdlib.h>

当然,你已经知道这一点,因为你想 使用 itoa()大概使用它在其他平台上后,在Linux上,但…代码(从上面的链接被盗)将如下所示:

/* itoa example */
#include <stdio.h>
#include <stdlib.h>

int main ()
{
  int i;
  char buffer [33];
  printf ("Enter a number: ");
  scanf ("%d",&i);
  itoa (i,buffer,10);
  printf ("decimal: %s\n",buffer);
  itoa (i,buffer,16);
  printf ("hexadecimal: %s\n",buffer);
  itoa (i,buffer,2);
  printf ("binary: %s\n",buffer);
  return 0;
}

输出:

Enter a number: 1750
decimal: 1750
hexadecimal: 6d6
binary: 11011010110

希望这可以帮助!



 类似资料:
  • 问题内容: 我想基于BlueZ构建ac文件,但系统中似乎没有bluetooth.h文件。 我确信蓝牙软件狗正在正确运行,并且我已经成功构建了Bluez。 更新资料 就我而言,我在/ user / include / bluetooth文件夹中找到bluetooth.h 问题答案: 您需要安装libbluetooth-dev软件包来编译代码 那应该安装蓝牙头文件。

  • 我正在尝试设置共享内存段以容纳字符串数组。例如,以下数组 string Example[]={“This is”,“An Example”,“of Strings”}; 然后,我尝试调用shmget,以便获得预留适当数量的os共享内存。 通读手册会指出shmget()返回一个“shmid”。同样,什么是shmid,是int、字符串、指针还是某种特殊类型,这是我标识共享内存段的方式吗?另外,如果sh

  • 问题内容: 我应该调用哪个头文件才能将PATH_MAX用作用于调整字符串大小的int? 我希望能够声明: 但是当我这样做时,我的编译器(Linux上为Clang / LLVM)发出以下错误: 我试图做一个谷歌搜索,但仍然没有运气。 不能解决问题/错误。 我是否也正确将PATH_MAX的值设置为int? 问题答案: 它在。 如本博客所述存在一些缺陷(感谢paulsm4)

  • 如果我想在Keras中使用BatchNormize函数,那么我需要在开始时只调用一次吗? 我阅读了以下文档:http://keras.io/layers/normalization/ 我不知道应该在哪里调用它。下面是我试图使用它的代码: 我这样问是因为如果我用第二行运行代码,包括批处理规范化,如果我不使用第二行运行代码,我会得到类似的输出。因此,要么我没有在正确的位置调用函数,要么我想这没有多大区

  • 严重程度代码说明项目文件行列警告CS1998此异步方法缺少await操作符,将同步运行。考虑使用'await'运算符来等待非阻塞API调用,或者使用'await task.run(...)'在后台线程上执行CPU绑定的工作。ImageParser C:\users\johny\documents\visual Studio 2015\projects\ImageParser\imdbsample\

  • 本文向大家介绍Linux中mkdir函数与Windows中_mkdir函数的区别,包括了Linux中mkdir函数与Windows中_mkdir函数的区别的使用技巧和注意事项,需要的朋友参考一下 下面先来给大家介绍windows下_mkdir函数 参数: dirname是目录的路径名指针 返回值: 如果新目录的创建时间,这些功能中的每一个返回值 0。 在错误,则函数返回 – 1 linux下mkd