【发布时间】:2019-06-13 19:45:22
【问题描述】:
纯便携的c。
所以我无法从变量中转换必须是变量的内容。 char *nib 到 int hex。我的想法是我有一个 char *nib ="ab";或“0xab”或直接将两个字符表示为 char * 的任何内容。然后将其转换为整数。并将其写入文件以获得一对一的写入。所以我从 char *nib="0xab";然后我大概把它写成一个 int,然后写成一个 hexdump 或编辑,结果就是 ab。
我已经能够将其作为一个常量直接声明...但笔尖始终是静态的。
这必须是一对一的,以两个字符的字符串或 nib 开头。不转换任何东西,纯铸造。
那么你可以直接将其写入文件而不进行转换吗?对于具有名称长度的值而言,三个查找表似乎有点多
【问题讨论】:
-
不能将代表数字的文本转换为数字。例如,您需要使用 atoi 函数进行转换
-
与您实际询问的内容无关,但为什么将其称为
nib?半字节是半字节(4 位),但ab或0xab是 1 字节(8 位)的十六进制表示。 -
@P__J__ 听起来像 OP 实际上不需要从可读字符串开始 - " 或任何直接将两个字符表示为
char *" 的东西......也许 "\x0a\x0b" 就是他们的意思是从什么开始的? (对于int来说仍然不够,并且在存储到文件时不太可能便携......但比“ab”更好) -
位是半字节? nyb 是半点?
-
(旁注:@mistermista 请在使用标签之前阅读标签信息 - 您作为标签添加到这篇文章的“nib”与字节无关,而是与 OSX 文件格式无关 - @987654321 @)