【问题标题】:How can I pass a long int to itoa function?如何将 long int 传递给 itoa 函数?
【发布时间】:2020-01-21 19:21:18
【问题描述】:

我尝试将 __value 的参数类型更改为 long long int,这并没有(如预期的那样)改变任何东西。

char   *_CType itoa(long long int __value, char *__string, int __radix);

由于我使用的是古老的 C++(甚至在标准 C++ 之前使用的那个),如果我对此无能为力,请建议一些替代方法,因为 itoa 可能在编译器中定义。

注意:我正在尝试将字符串 (*char) 传递给 outtextxy 函数。

我目前使用 TURBO C++ 的 IDE。

【问题讨论】:

  • snprintf()。或者,如果这太新,sprintf()。但是,实际上,您需要一种现代编译器,而不是已经过时 25 年的编译器。
  • 我正在尝试将字符串 (*char) 传递给 outtextxy 函数
  • 使用古老的编译器有什么正当理由吗?
  • @machine_1 在您无权或完全不能更改编译器的情况下维护遗留代码。
  • @SonofStackoverflow 看起来您更改了标头中函数的声明。实现该函数的编译库不知道您这样做了。

标签: c++ turbo-c++


【解决方案1】:

itoa 函数是 C 标准库的一部分,您不能更改它接收的参数类型。

但是,C“标准”库并不是真正的标准,它是随您的编译器和/或操作系统提供的,并且会根据所述编译器/操作系统的版本而有所不同。

在 Google 上环顾四周,您可能可以访问另一个名为 ltoa 的函数。

或者,根据您实际需要的功能,编写您自己版本的此功能可能相当容易。 例如,如果您不需要base 参数并且总是希望使用十进制整数,则将它们转换为字符串的代码很简单,并且通常作为基本的编程练习。

【讨论】:

    猜你喜欢
    • 2015-08-27
    • 1970-01-01
    • 2015-06-23
    • 2021-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多