问题标签 [itoa]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 即使包含 stdlib.h,itoa () 也不能在 32 位 tdm-gcc 5.1 上工作
我制作了一个使用 itoa () 的 c++ 程序。我在 64 位编译器(TDM-GCC-5.1)上编译它,它编译并工作。但是当我使用 32 位 TDM-GCC-5.1 编译器编译它时,我得到错误 itoa () is not declared in this scope。我尝试在两台不同的 32 位机器上编译它,但我得到了同样的错误,并且通过包含 cstdlib 和 stdlib.h 在这两种情况下仍然是同样的错误。它在 64 位机器上编译并运行良好。但是为什么它不在 32 位编译器上这样做呢?
你能推荐一些32位的替代品吗?
代码:
编译器输出:
截图:IDE 截图
c - Trying to understand itoa function
I tried to re-write the itoa()
function from K&R exercises, but I failed to define it. I see the answer of the function in the library , but I can't understand what is inside the do block. Please explain it to me. Thanks!
macos - 如何在 Mac 上的 x86 程序集 (NASM) 中打印有符号整数
c - 如何修复我的 `itoa` 实现,使其不打印反向输出?
我想在 C 中将整数转换为一串数字字符。
我尝试过使用itoa
,但它是非标准的,并且不是由我的 C 库提供的。
我试图实现我自己的itoa
,但它不能正常工作:
它提供反向输出。
例如,如果c
is'A'
和base
is 2
,输出是这样的:0101101
我想要的输出是这样的:1011010
我该如何解决这个问题?
类似问题
我已经看到了这个问题:Is there a printf converter to print in binary format?
我不希望printf
格式说明符将整数打印为二进制,我想将二进制转换为字符串。
我已经看过这个问题:Print an int in binary representation using C
尽管答案确实将整数转换为二进制数字字符串,但这是它唯一可以做的事情。
限制
我希望itoa
能够与其他base
s 一起工作,例如10
,8
等并正确打印(即12345
转换为"12345"
而不是转换为"11000000111001"
)。
我不想使用printf
或sprintf
这样做。
我不关心字符串的长度,只要结果是正确的。
我不想将整数转换为数字以外的 ASCII 字符,除了base
大于 10 的 s 除外,在这种情况下,字符可能是字母数字。
答案必须完全符合这个原型:
可能有一个被调用的函数nitoa
具有此原型并返回保存结果所需的字符数itoa
:
c - 为什么 itoa 期望有符号字符而不是无符号字符?
在使用 PIC24FJ128GB204 在 MPLAB X 中工作时学习嵌入式 C。
到目前为止,我大多听说应该在嵌入式设备上尽可能多地使用无符号类型(尤其是?),所以我开始使用 uint8_t 数组来保存字符串。但是,如果我从 stdlib.h 调用 itoa,它需要一个指向有符号字符 (int8_t) 数组的指针:
extern char * itoa(char * buf, int val, int base);
当我在无符号数组上使用 itoa 后尝试编译时,这一点特别清楚:
在其他平台上搜索 itoa 的实现,这似乎是常见的情况。
这是为什么?
(我还注意到,大多数实现都需要值/指针/基数,而-出于某种原因-Microchip 的 stdlib.h 首先需要指针。我花了一段时间才意识到这一点。)
c - uint64_t 到数组 - C 语言
我试图将 uint64_t 数组解析为 char 数组(结果为十进制,用逗号分隔)。
我使用 memcpy,每次我得到一个随机值。iota() 函数转换最大 uint32_t 值。我尝试将 uint64_t 与 2 uint32_t 分开,但我从来没有得到正确的结果。
预期结果:
我从这个主题尝试了 int64ToChar ,但结果是:
谢谢你的帮助。
c++ - C++ 中是否有 '_itoa_s' 函数的替代品
找到了这个旧的自动点击器来源,我想编辑和调整一些字符串,所以出于可访问性的原因,它会更容易一些。 https://gist.github.com/iGlitch/c55043119fce86e7bf04efc3aae1b5bf
但只是试图按原样编译代码,我收到以下错误
为什么函数 _itoa_s 会导致问题?我也尝试包含 < cstdlib >,但它不起作用。它还给出了其他 4 个 _itoa_s 函数的错误。
c - 为什么要在字符串末尾添加 1?在这段代码中
我想创建一个文本文件,其名称由用户输入并连接 id,该文件正在创建,但每次运行时都会在扩展名的最后添加 1
我得到的输出是
预期输出是
segmentation-fault - 尝试在 C 中重新编码 itoa 时出现段错误
新手试图在itoa
这里重新编码。我不太确定 itoa 函数是如何工作的,但这是我现在希望我的工作方式:
char *ft_itoa(int nb, char *str)
我希望将 的每个数字nb
转换为要放入的字符*str
。这是我的代码(我不允许使用任何功能,但这write
只会让我在这里调试。
尝试执行此行时,程序将出现段错误:
str[i] = y + '0';
如果我不得不大胆猜测,我会说这是因为在我的主要
*nbr
不是“分配的”。我不确定声明时分配是如何工作的 char *nbr = "1DF";
。
在此先感谢您的帮助 !
c - 热衷于用 C 语言进行论证;gdb 没有显示错误,函数没有给出输出
** 你好 :)
所以我有这个任务来编写一个程序,它将使用 malloc 将 int 转换为 arg 并且一切正常,gdb 没有显示任何错误,但它没有以这种形式打印任何输出。如果我删除 itoa_buffer[i] = '\0'; 有时它有时不显示输出。我不知道这里出了什么问题,似乎还不错。
我不知道在哪里寻求帮助,因为我喜欢按照我的逻辑在这里找到错误,而不是从互联网上复制解决方案。我会很感激一些提示,它可能是一些我不知道的小事,不会让我走得更远。**