C 中的十六进制到字符数组

2024-04-20

Given a string of hex values i.e. e.g. "0011223344" so that's 0x00, 0x11 etc.

如何将这些值添加到 char 数组?

相当于说:

char array[4] = { 0x00, 0x11 ... };

您无法将 5 个字节的数据放入 4 个字节的数组中;这会导致缓冲区溢出。

如果字符串中有十六进制数字,则可以使用sscanf()和一个循环:

#include <stdio.h>
#include <ctype.h>

int main()
{
    const char *src = "0011223344";
    char buffer[5];
    char *dst = buffer;
    char *end = buffer + sizeof(buffer);
    unsigned int u;

    while (dst < end && sscanf(src, "%2x", &u) == 1)
    {
        *dst++ = u;
        src += 2;
    }

    for (dst = buffer; dst < end; dst++)
        printf("%d: %c (%d, 0x%02x)\n", dst - buffer,
               (isprint(*dst) ? *dst : '.'), *dst, *dst);

    return(0);
}

请注意,打印以零字节开头的字符串需要小心;大多数操作在第一个空字节处终止。请注意,此代码并未以空终止缓冲区;目前尚不清楚是否需要空终止,并且我声明的缓冲区中没有足够的空间来添加终端空(但这很容易修复)。如果代码被打包为子例程,则很有可能需要返回转换后的字符串的长度(尽管您也可以认为它是源字符串的长度除以二)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C 中的十六进制到字符数组 的相关文章

  • gtest 和 gmock 有什么区别?

    我试图理解的目的google mock Google 的 C 模拟框架 https github com google googletest blob master googlemock README md 我已经与gtest较早 但我还是
  • C 中的复合语句表达式

    下面的代码不起作用 int i void 999 100 添加括号就可以了 为什么 int i void 999 100 还有另一种方法可以完成此类分配 int i void 999 100 是什么让他们与众不同 在这份声明中 int i
  • 使用 Selenium for C# 登录 Facebook

    我一直在使用 Selenium C 框架并尝试进行 facebook 登录 但没有任何运气 这是我到目前为止得到的 基于这篇文章 使用 Selenium 测试 Facebook Connect 应用程序 https stackoverflo
  • Entity Framework 4.1 RC:Code First EntityTypeConfiguration 继承问题

    我尝试使用通用的 EntityTypeConfiguration 类来配置所有实体的主键 以便每个派生的配置类不会重复自身 我的所有实体都实现一个公共接口 IEntity 它表示每个实体必须有一个 int 类型的 Id 属性 我的配置基类如
  • 如何防止字符串被截留

    我的理解 可能是错误的 是 在 C 中 当你创建一个字符串时 它会被实习到 实习生池 中 这保留了对字符串的引用 以便多个相同的字符串可以共享操作内存 但是 我正在处理很多很可能是唯一的字符串 一旦完成每个字符串 我需要将它们从操作内存中完
  • 为什么C++变量是指针时不需要正确定义?

    我对 C 语言完全陌生 特别是指针 经验主要是 PHP 并且希望对以下内容进行一些解释 我已经尝试寻找答案 这两行代码如何能够在我的程序中完成完全相同的工作 第二行似乎违背了我迄今为止所学到和理解的关于指针的一切 char disk 3 D
  • 包含当月所有日期的 PHP 数组 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在尝试并且仍然想知道如何获得一个
  • std::string 在 Visual Studio 上的具体行为?

    我有一个项目需要读取 写入大文件 我决定使用 ifstream read 将这些文件一次性放入内存中 放入 std string 中 这似乎是在 C 中执行此操作的最快方法 http insanecoding blogspot com 20
  • 使用互斥锁来阻止临界区外部的执行

    我不确定我的术语是否正确 但这里是 我有一个由多个线程使用的函数来写入数据 在注释中使用伪代码来说明我想要的内容 these are initiated in the constructor int data std atomic
  • 为什么 std::ranges::filter_view 对象必须是非常量才能查询其元素?

    include
  • C 的“char”使用什么字符集? [复制]

    这个问题在这里已经有答案了 简单的问题 我最近开始用 C 编程 有一个简单的问题 C 编程语言在其 char 类型中使用什么字符集 例如 ASCII 还是取决于软件 操作系统 char 本质上是 1 个字节 主要在所有操作系统上 所以默认情
  • System.diagnostics.process 进程在托管后无法在 IIS 上运行?

    我正在尝试从网络应用程序安装 exe 当我在本地运行应用程序 从 asp 开发服务器 时 它安装正确 但当我托管在 IIS 上时 它不起作用 我在asp net页面的Page load方法上编写了这段代码 想要在客户端计算机上安装Test
  • C 中什么函数可以替换字符串中的子字符串?

    给定一个 char 字符串 我想查找所有出现的子字符串并将其替换为备用字符串 我没有看到任何简单的函数可以实现这一点
  • C 中的 N 依赖注入 - 比链接器定义的数组更好的方法?

    Given a 库模块 在下文中称为Runner 它作为可重复使用的组件 无需重新编译 即静态链接库 中应用程序分区架构的 而不是主分区 请注意 它仅包含main 出于演示目的 Given a set 顺序无关 调用的其他模块 对象Call
  • 需要使用 openssl 加密和解密文件的示例 C 代码

    我正在用 Linux C 编写代码 我需要使用以下命令来加密和解密文件 openssl 目前 我使用系统命令 des3 e nosalt k 0123456789012345 in inp file out out file 进行加密 使用
  • 如何分析 VSCode 中函数的性能

    我用 C Golang 编写了一个程序 如何找到占用最高 CPU 周期的函数 目的是提高正在执行的程序的性能 2021 年 10 月 金香儿哈娜 https github com hyangah宣布 tweet https twitter
  • 实体框架代理创建

    我们可以通过使用来停止在上下文构造函数中创建代理 this Configuration ProxyCreationEnabled false 在 EF 4 1 中创建代理有哪些优点和缺点 代理对于两个功能是必需的 延迟加载 导航属性在第一次
  • 将小数格式化为两位或整数

    对于 10 我想要 10 而不是 10 00 对于 10 11 我想要 10 11 没有代码可以实现吗 即通过指定格式字符串类似于 0 N2 decimal num 10 11M Console WriteLine num ToString
  • 编译器可以报告未知属性的错误吗?即使有范围?

    在N3291 7 6 1 3 5 属性语法和语义 decl attr grammar 关于如何属性是用我读过的源代码写的 使用一个属性范围令牌是有条件支持的 实现定义的行为 and For an 属性标记本国际标准中未指定 该行为是实现定义
  • FakeItEasy 代理方法调用实际实现

    我正在尝试将对假对象的调用代理到实际的实现 这样做的原因是我希望能够使用 Machine Specifications 的 WasToldTo 和 WhenToldTo 它们仅适用于接口类型的伪造 因此 我正在执行以下操作来代理对我的真实对

随机推荐

  • 无法将 UIViewController 类型的值转换为 PatternDetailViewController

    我试图将视图控制器向下转换为详细视图控制器 但不能 我正在使用 Core Data 第一次 错误出现在prepareForSegue方法中 内容如下 无法将 UIViewController 类型的值 0x1b81cdc 转换为 Patte
  • 定义用于执行程序的工作目录 (C#)

    我目前正在尝试从特定文件夹启动可执行文件 我下面的代码使应用程序崩溃得很奇怪 Process p new Process p StartInfo WorkingDirectory dump p StartInfo FileName s p
  • 如何使用Python检查url是否重定向到另一个url

    我想检查目标url访问后是否会重定向 我想我可以做这样的事情 req urllib2 Request url url headers headers resp urllib2 urlopen req timeout 3 code resp
  • 具有特定长度的字符串的哈希值

    有没有一种方法可以生成字符串的哈希值 以便哈希值本身具有特定的长度 我有一个生成 41 字节哈希值 SHA 1 的函数 但我需要它最大为 33 字节 由于某些硬件限制 如果我将 41 字节哈希截断为 33 我可能 当然 失去了唯一性 或者实
  • Google Webmasters API for Java 返回空网站列表

    我编写了一个简单的站点列表查询代码 它使用 Oauth 与服务帐户基于谷歌的文档 https developers google com identity protocols OAuth2ServiceAccount 所使用的身份验证密钥文
  • AJAX 中的 GET 与 POST?

    为什么 AJAX 中有 GET 和 POST 请求 因为它无论如何都不影响页面 URL 由于数据未反映到页面 URL 因此通过 AJAX 中的 GET 传递敏感数据有何区别 您应该根据您的 Web 服务要求使用正确的 HTTP 动词 当处理
  • $(this) 在函数中不起作用

    以下代码从文件加载 html 内容 我使用这个线程 https stackoverflow com questions 168963 stop jquery load response from being cached
  • 删除所有 kubernetes 命名空间中所有 pod 的命令

    查看文档后 有一个 API 调用可以删除单个 pod 但是有没有办法删除all所有命名空间中的 Pod 没有命令可以完全按照您的要求进行操作 以下是一些势均力敌的比赛 运行任何这些命令之前请务必小心 如果您使用多个集群 请确保您连接到正确的
  • 如何使用 C# 在 Selenium WebDriver 中等待警报?

    我如何将 Selenium WebDriver 设置为在接受警报而不是 Thread Sleep 之前等待警报 作为网站 有时加载速度非常慢 有时加载速度很快 Thanks 您应该应用 webdriver 等待警报正确出现 var wait
  • azure 以编程方式设置环境变量以禁用 azure 功能

    我有一个 Azure API 和一个 Azure 函数 当某些逻辑传递到 API 时 我希望它禁用 Azure 功能 这个帖子 https stackoverflow com questions 36368786 programmatica
  • 如何检查 IP 是否位于这些子网之一

    我有大约 12600 个子网 例如 123 123 208 0 20 和一个IP 我可以使用 SQLite 数据库或数组或其他任何东西 大约一个月前有人问过一个类似的问题 但是我不是在寻找针对一个子网检查一个IP 而是针对一堆子网 显然是最
  • 我无法理解“找不到模块:错误:无法解析'fs''”

    有一点空闲时间 我尝试用我喜欢的新网络技术 Typescript Pug 和 React 重新设计我的一个旧项目 一切工作正常 直到我尝试将 pug js 添加到混合中babel plugin transform react pug 无论我
  • 在 xml 中存储 url 的正确方法?

    我将数据存储在 xml 文件中 在其中一个节点中 我必须存储一个由特殊字符 如 组成的 url 我使用 amp 而不是 并且 xml 显示没有错误 但是当我进行 SAX 解析时 节点内返回的字符串值是 之后的字符串 我猜我存储网址的方式不正
  • 在本地主机上的 laravel 中将 slack 连接到 botman

    这是我在 laravel 中的路线文件 我将任何 url 与调用闭包的 botman 相匹配 该闭包为 botman 注册一个 slack 驱动程序并监听消息 hello 在闲暇时我试图设置Request URL在使用此事件订阅下http
  • 查找或创建竞争条件

    我正在尝试使用 ActiveRecordfind or create by column 但我从 Postgres 收到错误 让我知道它有时无法找到模型 并尝试插入一个模型 保持这张表的独特性非常重要 所以我添加了一个 unique gt
  • LuaJIT FFI 回调性能

    The LuaJIT FFI 文档 http luajit org ext ffi semantics html提到从 C 调用回 Lua 代码相对较慢 建议尽可能避免使用 不要将回调用于性能敏感的工作 例如考虑一个数值积分例程 它需要用户
  • 在 Windows 上绘制主题组合框

    我尝试模仿主题不可编辑组合框的外观 CBS DROPDOWNLIST using DrawThemeBackground https msdn microsoft com library windows desktop bb773306 v
  • Spark结构化流:书写不正确

    我将抄表记录以 JSON 形式从 kafka 2 11 0 10 0 1 流式传输到 Spark 2 1 中 我改用结构化流媒体 尽管kafka消费者确认传入数据 但我控制台和writeStream不动 我正在测试使用 pyspark pa
  • Android 如何在 PreferenceScreen 中的长时间操作期间禁用复选框

    我从 xml 加载了这个 PreferenceScreen 问题是 当我切换复选框时 我会启动一个服务 需要 5 10 秒才能连接到服务器 我怎样才能在这段时间禁用该复选框 由于布局膨胀 我看不到如何获取 checkbox setEnabl
  • C 中的十六进制到字符数组

    Given a string of hex values i e e g 0011223344 so that s 0x00 0x11 etc 如何将这些值添加到 char 数组 相当于说 char array 4 0x00 0x11 您无