问题标签 [strtoull]

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 回答
286 浏览

c++ - 为什么我在 Visual Studio 编译器中使用 strtoul 函数从十六进制转换为十进制错误?

我正在将字符串从十六进制转换为十进制。问题是在 Visual Studio 编译器中,转换返回了错误的值。但是,当我在终端使用 g++ 编译器在 Mac 中编译相同的代码时,会正确返回值。

为什么会这样?

输出:

输出文件

0 投票
1 回答
656 浏览

c - strtoull“似乎”返回错误的值

基本上我正在尝试将十六进制字符串转换为unsigned long long valuesusing strtoull. 这是简单的代码

我希望val打印8004298c42,但它打印4298c42. 8正在被砍掉。我试过没有 the0x和没有 the ULLtoo。但还是一样的结果。为了确保我不会错过一些琐碎printf的格式说明符,我什至检查了val. 仍然没有用(即未打印成功)

我想我错过了一些微不足道的东西,但不知道是什么!

0 投票
1 回答
84 浏览

c - 标记无符号打印奇数值

正如标题所暗示的那样,我从 strtoul 获得了一些奇怪的回报,我已经通过使用 strcpy 将数据存储为字符串进行了测试,并且它给出了正确的值,但是一旦我尝试通过使用将其更改为无符号整数strtoul() 我得到了一个奇怪的结果,找不到修复它的方法。我的代码如下:

正在加载的数据是 datapos = 5: 和 token = 3333: 并且正在打印的结果是......“在邮政编码中成功添加了 255”。

如上所述,在不更改输入和更改案例 5:到 strcpy() 而不是 strtoul() 的情况下,但我不能这样做,因为它不遵循标志 -pedantic -ansi 和 -Wall。它需要100%。

ps:如果需要 POSTCODE_LEN 定义为 4,我已经包含了 stdlib.h 和 string.h

0 投票
2 回答
255 浏览

c - 即使条件为假,if 语句也会执行

这是有问题的代码。我有一个格式为 str = "-1,ABCDEFGH" 的字符串和一个大小为 15 字节的结构 A。

我正在预先执行此操作:

此操作后,ptr 指向 ',' 和 number = -1

查看 IF 条件,第一个语句的计算结果为假(因为 *ptr = ','),第二个语句执行为 TRUE,即使它应该为假( strlen(ptr+1) 为正,并且 (sizeof( struct A) * number) 是负数,仅仅是因为 num1 是负值)。

为什么此语句评估为真并进入 IF 块?我得到了输出“条件满足”,而我不应该。提前致谢。

0 投票
1 回答
1118 浏览

string - strtoul() 没有按预期工作?

我正在尝试将诸如“0x7ffd01767a60”之类的字符串转换为十六进制,以便可以比较指针。不确定这是否是最好的决定。

我正在这样做:

我得到了这个:0x7ffd01764120

编辑:似乎我正在打印忽略函数返回的字符串地址。谢谢詹斯!和施伦克。

解决了!这就是我所做的

printf 打印相同的内存地址。

0 投票
1 回答
1032 浏览

c - strtoull 在 C 中正确使用

所以我有一个这样的字符串:

这是一个例子,数组中可以有更多的数字,但它肯定会以 ] 结尾。

所以现在我需要将它转换为一个无符号长整数数组。我知道我可以使用 strtoull() 但它需要 3 个参数,我不知道如何使用第二个参数。另外我想知道如何使我的数组具有正确的长度。我想让我的代码看起来像这样,但不是伪代码,而是 C:

在 C 中可以这样做吗?

0 投票
1 回答
73 浏览

objective-c - 汉明距离计算中 strtoull() 调用中的内存泄漏

我在计算汉明距离的命令行 Objective-C OS X 应用程序中调用 strtoull() 超过 1 亿次。我已经从 ph_hamming_distance() 跟踪到此函数调用的 ~30 字节/调用内存泄漏。我查看了 strtoull() 的 BSD 源代码,甚至删除了我不需要的通用性,并将源代码放在我的应用程序中,但仍然存在内存泄漏。

调用代码是:

ph_hamming_distance() 的参数始终为 base10(没有 alpha 字符)。典型的 hashStr 是 @"17609976980814024116"。我正在比较的对象数据库目前有 390K 个对象,因此所有对象与其自身的内部比较是对 strtoull() 的 3000 亿次调用。泄漏导致我的应用程序每次在 ~3500 比较时 SIGKILL -9。这是 3500*390K*2 调用/比较 = ~80 GB,这是我驱动器上的可用空间,所以我猜当交换文件填满驱动器时,OS X 正在终止进程。

任何帮助表示赞赏。

0 投票
3 回答
1421 浏览

c - 使用 C 中的 strtoul 函数将 char hex 字符串转换为 unsigned int

我正在尝试将十六进制从strtoul函数转换为无符号整数。但我得到的输出为ffffffff. 我用过stdlib.h图书馆。有人可以告诉我我错在哪一部分吗?

0 投票
2 回答
424 浏览

c - C如何将unsigned long long字符串转换为uint32_t []?

是否有任何短代码将 unsigned long long 字符串转换为 uint32_t[]?

0 投票
2 回答
270 浏览

c - c、strtoul() 在错误/溢出的情况下返回无效值

例如:

输出:

val = 1942892530 错误:0

手册页说 strtoul() 应该为溢出值返回 ULONG_MAX (4294967295UL),有人可以解释 strtoul() 在这种情况下不返回 ULONG_MAX 的原因吗?