问题标签 [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.

0 投票
1 回答
424 浏览

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 截图

0 投票
2 回答
318 浏览

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!

0 投票
1 回答
1347 浏览

macos - 如何在 Mac 上的 x86 程序集 (NASM) 中打印有符号整数

我在 x86 汇编中找到了无符号整数转换的实现,我尝试将其插入,但对汇编来说是新手并且还没有调试环境,很难理解为什么它不起作用。我还希望它与有符号整数一起使用,以便它可以从系统调用中捕获错误消息。

想知道是否可以显示如何修复此代码以打印有符号整数,而不使用 printf 而是使用答案strprn提供的。

通过这项工作,可以将有符号整数正确打印到 STDOUT,因此您可以记录寄存器值。

0 投票
2 回答
306 浏览

c - 如何修复我的 `itoa` 实现,使其不打印反向输出?

我想在 C 中将整数转换为一串数字字符。

我尝试过使用itoa,但它是非标准的,并且不是由我的 C 库提供的。

我试图实现我自己的itoa,但它不能正常工作:

它提供反向输出。

例如,如果cis'A'baseis 2,输出是这样的:0101101

我想要的输出是这样的:1011010

我该如何解决这个问题?


类似问题


我已经看到了这个问题:Is there a printf converter to print in binary format?

我不希望printf格式说明符将整数打印为二进制,我想将二进制转换为字符串。

我已经看过这个问题:Print an int in binary representation using C

尽管答案确实将整数转换为二进制数字字符串,但这是它唯一可以做的事情。


限制


我希望itoa能够与其他bases 一起工作,例如10,8等并正确打印(即12345转换为"12345"而不是转换为"11000000111001")。

我不想使用printfsprintf这样做。

我不关心字符串的长度,只要结果是正确的。

我不想将整数转换为数字以外的 ASCII 字符,除了base大于 10 的 s 除外,在这种情况下,字符可能是字母数字。

答案必须完全符合这个原型:

可能有一个被调用的函数nitoa具有此原型并返回保存结果所需的字符数itoa

0 投票
4 回答
552 浏览

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 首先需要指针。我花了一段时间才意识到这一点。)

0 投票
4 回答
1071 浏览

c - uint64_t 到数组 - C 语言

我试图将 uint64_t 数组解析为 char 数组(结果为十进制,用逗号分隔)。

我使用 memcpy,每次我得到一个随机值。iota() 函数转换最大 uint32_t 值。我尝试将 uint64_t 与 2 uint32_t 分开,但我从来没有得到正确的结果。

预期结果:

我从这个主题尝试了 int64ToChar ,但结果是:

谢谢你的帮助。

0 投票
0 回答
1033 浏览

c++ - C++ 中是否有 '_itoa_s' 函数的替代品

找到了这个旧的自动点击器来源,我想编辑和调整一些字符串,所以出于可访问性的原因,它会更容易一些。 https://gist.github.com/iGlitch/c55043119fce86e7bf04efc3aae1b5bf

但只是试图按原样编译代码,我收到以下错误

为什么函数 _itoa_s 会导致问题?我也尝试包含 < cstdlib >,但它不起作用。它还给出了其他 4 个 _itoa_s 函数的错误。

0 投票
1 回答
41 浏览

c - 为什么要在字符串末尾添加 1?在这段代码中

我想创建一个文本文件,其名称由用户输入并连接 id,该文件正在创建,但每次运行时都会在扩展名的最后添加 1

我得到的输出是

预期输出是

0 投票
1 回答
77 浏览

segmentation-fault - 尝试在 C 中重新编码 itoa 时出现段错误

新手试图在itoa这里重新编码。我不太确定 itoa 函数是如何工作的,但这是我现在希望我的工作方式: char *ft_itoa(int nb, char *str) 我希望将 的每个数字nb转换为要放入的字符*str。这是我的代码(我不允许使用任何功能,但这write只会让我在这里调试。

尝试执行此行时,程序将出现段错误: str[i] = y + '0';

如果我不得不大胆猜测,我会说这是因为在我的主要

*nbr不是“分配的”。我不确定声明时分配是如何工作的 char *nbr = "1DF";

在此先感谢您的帮助 !

0 投票
1 回答
38 浏览

c - 热衷于用 C 语言进行论证;gdb 没有显示错误,函数没有给出输出

** 你好 :)

所以我有这个任务来编写一个程序,它将使用 malloc 将 int 转换为 arg 并且一切正常,gdb 没有显示任何错误,但它没有以这种形式打印任何输出。如果我删除 itoa_buffer[i] = '\0'; 有时它有时不显示输出。我不知道这里出了什么问题,似乎还不错。

我不知道在哪里寻求帮助,因为我喜欢按照我的逻辑在这里找到错误,而不是从互联网上复制解决方案。我会很感激一些提示,它可能是一些我不知道的小事,不会让我走得更远。**