AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 17834
In Process
Rcart
Rcart
Asked: 2010-12-17 20:20:02 +0800 CST2010-12-17 20:20:02 +0800 CST 2010-12-17 20:20:02 +0800 CST

itoa() 在 Gcc >=4.1 的 stdlib.h 中是否可用?

  • 772

那是我的问题。我有 Gcc 4.4.1 并且该功能不存在,我安装了 4.3 和 4.5 版本,结果相同:-/

我知道这个函数不是 C-ANSI 标准,但我没有编写代码,我需要在我的发行版中编译它。我的一个朋友在 Fedora 中使用了相同版本的编译器,并且 Gcc 编译没有问题(使用 stdio.h 和 stdlib.h)。

因此,如果有人可以告诉我该函数在我的编译器中是否可用。我将不胜感激。

问候。

顺便说一句:这是我的 gcc 版本:

:~$ gcc -v
Using built-in specs.
Target: i686-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.4.4-14ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.4 --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu
Thread model: posix
gcc version 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5
10.10 programming gcc
  • 2 2 个回答
  • 12416 Views

2 个回答

  • Voted
  1. msw
    2010-12-17T21:50:50+08:002010-12-17T21:50:50+08:00

    它似乎没有在 4.4.4 中定义,但如果你不关心 10 以外的基数

    char *itoa(long i, char* s, int dummy_radix) {
        sprintf(s, "%ld", i);
        return s;
    }
    

    是一种快速而肮脏(且经过测试)的替代品。

    • 4
  2. ByMsx
    2013-12-28T00:18:46+08:002013-12-28T00:18:46+08:00
     void itoa(int n, char s[])
     {
     int i, sign;
    
     if ((sign = n) < 0)  /* записываем знак */
         n = -n;          /* делаем n положительным числом */
     i = 0;
     do {       /* генерируем цифры в обратном порядке */
         s[i++] = n % 10 + '0';   /* берем следующую цифру */
     } while ((n /= 10) > 0);     /* удаляем */
     if (sign < 0)
         s[i++] = '-';
     s[i] = '\0';
     reverse(s);
     }
    

    如果您需要反向功能:

    #include <string.h>
    
    /* reverse:  переворачиваем строку s на месте */
    void reverse(char s[])
    {
     int i, j;
     char c;
    
     for (i = 0, j = strlen(s)-1; i<j; i++, j--) {
         c = s[i];
         s[i] = s[j];
         s[j] = c;
     }
    }
    

    我从俄罗斯维基百科得到了这个实现。

    • 1

相关问题

  • ubuntu-desktop 主要是用哪种语言编写的?

  • 如何在 Ubuntu 上开发 .NET 应用程序?

  • 谷歌的 Go 语言有任何 PPA 吗?

  • 为什么在 Ubuntu 10.10 中 F-Spot 被 Shotwell 取代?

  • Haskell 平台会在 10.10 中可用吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何安装 .run 文件?

    • 7 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    如何获得 CPU 温度?

    • 21 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Marko Smith

    如何使用命令行将用户添加为新的 sudoer?

    • 7 个回答
  • Marko Smith

    更改文件夹权限和所有权

    • 9 个回答
  • Marko Smith

    你如何重新启动Apache?

    • 13 个回答
  • Marko Smith

    如何卸载软件?

    • 11 个回答
  • Marko Smith

    如何删除 PPA?

    • 26 个回答
  • Martin Hope
    NES 如何启用或禁用服务? 2010-12-30 13:03:32 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    Olivier Lalonde 如何在结束 ssh 会话后保持进程运行? 2010-10-22 04:09:13 +0800 CST
  • Martin Hope
    David B 如何使用命令行将用户添加为新的 sudoer? 2010-10-16 04:02:45 +0800 CST
  • Martin Hope
    Hans 如何删除旧内核版本以清理启动菜单? 2010-08-21 19:37:01 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve