静态 uint8_t 数组的输入过程和类型

2024-03-02

我目前正在尝试将 Arduino IDE 中的整数变量转换为静态 uint8_t 数组的值。

我在用:

#include <U8x8lib.h>

我确实明白 uint8_t 的行为与字节类型类似。

目前,该数组有一个设定值:

static uint8_t hello[] = "world";

从我的角度来看,“world”看起来像一个字符串,所以我想我应该从创建一个字符串变量开始:

String world = "world";
static uint8_t hello[] = world;

这不起作用并给了我错误:

initializer fails to determine size of 'hello'

如果我做同样的事情,但将“world”更改为如下所示的 int ......

int world = 1;
static uint8_t hello[] = world;

我得到同样的错误是:

initializer fails to determine size of 'hello'

我已经通过以下过程成功将 uint8_t 数组转换为字符串:

static uint8_t hello[] = "world";
String helloconverted = String((const char*)hello);

我不明白以下内容:

  1. uint8_t 数组如何具有类似字符串的输入并且可以正常工作,但在涉及变量时却无法正常工作

  2. 如何创建字符串变量作为 uint8_t 数组的输入

  3. 如何创建 int 变量作为 uint8_t 数组的输入

提前感谢你的帮助。


uint8_t 数组如何具有类似字符串的输入并正常工作,但是 当涉及变量时不

字符串文字本质上是一个以 null 结尾的字符数组。所以

static uint8_t hello[] = "world";

本质上是

static uint8_t hello[] = {'w','o','r','l','d','\0'};

这也是一个普通的数组复制初始化,所需的大小是从值自动推导出来的,这就是为什么你可以使用 [] 而不是 [size]

如何创建 int 变量作为 uint8_t 数组的输入

由于尺寸为int在编译时已知您可以创建一个大小为int并复制int逐字节地赋值给它memcpy:

int world = 1;
static uint8_t hello[sizeof(world)];
memcpy(hello, &world, sizeof(hello));

如何创建字符串变量作为 uint8_t 数组的输入

你需要知道长度String事先这样你就可以创建一个足够大的数组来容纳String value:

String world = "Hello"; // 5 chars
static uint8_t hello[5];
world.toCharArray((char *)hello, sizeof(hello));

根据您的需要,您可能还想处理终止 null。

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

静态 uint8_t 数组的输入过程和类型 的相关文章

  • 在 firebase 中存储空数组

    我的 firebase 应用程序与 React 一起使用 我可以注册用户 然后将信息记录到数据库中 我正在创建一个 约会应用程序 我想要某种方法来存储空数组 例如 matchers etc 我尝试过这样的事情 firebase databa
  • Excel函数:引用单元格中的数组

    我在单元格 A1 中有一个数组 通过 A1 G6 J6 aa b ccc 1 现在我想将单元格 A1 用于 B1 中的数组公式 基本上B1应该是 B1 SUMPRODUKT C6 C12 B6 B12 G6 J6 但我不想直接引用 G6 J
  • 指向二维数组的指针和手动内存管理 - C

    我认为用纯 C 语言构建一个库来处理各种矩阵计算将是一个很好的挑战 现在 尽管我在 Objective C 和 Cocoa 方面有一些很好的经验 但我对 C 的了解正是我所需要的与 Objective C 一起工作 仅此而已 例如 我熟悉
  • .net中连续内存存储的误解?

    http msdn microsoft com en us library ms379570 v vs 80 aspx http msdn microsoft com en us library ms379570 v vs 80 aspx
  • 过滤(搜索和替换)InputStream 中的字节数组

    我有一个 InputStream 它将 html 文件作为输入参数 我必须从输入流中获取字节 我有一个字符串 XYZ 我想将此字符串转换为字节格式 并检查从 InputStream 获得的字节序列中是否存在与该字符串匹配的字符串 如果有的话
  • 获取数组的第一个元素

    我有一个数组 array 4 gt apple 7 gt orange 13 gt plum 我想获取这个数组的第一个元素 预期结果 字符串apple 要求一 它不能通过引用传递来完成 so array shift这不是一个好的解决方案 我
  • 将键上的对象数组和总和值减少到数组中

    我有以下对象 data name foo type fizz val 9 name foo type buzz val 3 name bar type fizz val 4 name bar type buzz val 7 并使用 loda
  • PHP:数组可以有一个数组作为键值对中的键吗?

    我得到这个数组的 非法偏移类型 public static CATS AND TYPES array Statement Administration array self CAT STATEMENT ADMIN gt Document A
  • 创建一个类的所有常量的数组?

    我正在使用一个定义了近 20 个常量的类 因为我希望所有这些常量值都在一个数组中 我只想知道 有没有什么方法可以创建一个类的所有常量的数组 我尝试过compact https www php net manual en function c
  • JS:按每个类别的最大值过滤对象数组

    什么是最有效 优雅的方式来实现类似sql的过滤效果 我想过滤它们并只获取某个组中最大值的对象 这是我的代码 它可以工作 但可能不是最好的方法 uniqueValues arr gt new Set arr getMaxTimeOf arr
  • python 和回文

    我最近写了一个循环的方法 usr share dict words并使用我的返回回文列表ispalindrome x 方法 这是一些代码 有什么问题吗 它只会停止 10 分钟 然后返回文件中所有单词的列表 def reverse a ret
  • 强制动态链接库中静态变量的预初始化

    C 11 标准第 3 6 2 条 第 4 条规定 具有静态存储持续时间的非局部变量的动态初始化是否在 main 的第一个语句之前完成是由实现定义的 C 标准将静态初始化与动态初始化区分开来 静态初始化仅需要计算编译时常量 我相信急切静态初始
  • 查找数组中总和等于给定值的最小元素

    我试图找出数组中总和等于的最小元素 给定的输入 我尝试了几个输入总和 但只能找到一个 在第一种情况下配对 而我需要实现的不仅仅是一对 var arr 10 0 1 20 25 30 var sum 45 var newArr console
  • HTML 表单:POST 对象数组

    提交班级名单 一次添加3名学生 每个学生都有最初 最后的年龄 问题 我们如何才能将所有学生放入数组中 students 0 gt Array first gt first name for 0 last gt last name for 0
  • 整数的十进制表示形式中的分隔数字

    例如 我想将用户输入作为整数输入 45697 并将前两位数字存储在数组 向量或其他内容中 例如 4 5 6 9 7 这样我就可以使用一些函数调用来检查前两个值 4 5 并对它们进行计算 问题 我不知道如何存储恢复前两个值 有没有简单的函数调
  • 使用 memcpy 复制二维数组?

    所以我想将二维数组的内容复制到另一个完全相同类型的数组 以下是数组的创建方式 GridUnit newGrid newGrid new GridUnit width for int i 0 i lt width i newGrid i ne
  • 如何在 Angular JS 中显示以字节数组形式接收的图像

    我有一个将返回图像的服务器端应用程序 这些是响应标头 Content Disposition attachment filename 8822a009 944e 43f4 999b d297198d302a 1 0 low res Cont
  • Swit 中的函数式编程将数组元素分配到正确的“桶”

    我是函数式编程的新手 我的问题是我有一个主数组和固定数量的 目标 数组 我想根据每个元素的特定值将主数组中的元素分配到正确的结果数组中 我猜测一种方法是使用一个映射函数来遍历主数组元素 确定正确的 目标数组 值 基于某种逻辑 然后将元素添加
  • 循环遍历多维数组

    我有一个与此类似的 JSON 文件 Pages Name Home Page index php admin Name Admin Page admin index php Template admin MobileTemplate adm
  • 在C中更改函数内的数组

    我正在学习 C 并且很困惑为什么在 main 中创建的数组不会在函数内部更改 我假设传递的数组是一个指针 并且更改指针应该更改数组 对吧 有人可以解释这种情况下发生了什么吗 谢谢你的帮助 int main int i length 10 i

随机推荐

  • 使用 lubridate 进行矢量化时区转换

    我有一个数据框 其中包含一列日期时间字符串 library tidyverse library lubridate testdf data frame mytz c Australia Sydney Australia Adelaide A
  • 从文本文件中读取并将其加载到 matlab 中的矩阵中[重复]

    这个问题在这里已经有答案了 我有一个名为坐标 txt 的文本文件 格式如下 0 0 0 0 95 0 32 0 02 1 02 0 26 0 96 0 73 0 6 0 52 0 77 0 6 0 71 0 28 0 0 95 0 14 0
  • N个矩形的并集周长

    我想知道解决这个问题的有效方法 给定N个矩形 并给出左上角和右下角 请求N个矩形的并集周长 我只有O N 2 算法太慢 所以请寻找更高效的算法 您可以假设坐标值为正整数且小于 100000 EDIT For example in this
  • simpleXML 根据属性获取节点子节点[重复]

    这个问题在这里已经有答案了 我正在尝试解析我通过其属性之一引用的节点的值 但我不确定语法 XML
  • Netty如何使用线程池?

    您能解释一下 Netty 如何使用线程池来工作吗 我是否理解正确 有两种线程池 老板和工人 Boss 用来做 I O worker 用来调用用户回调 messageReceived 来处理数据 这是来自 NioServerSocketCha
  • 使用什么工具来解析Python中的编程语言?

    您可以推荐哪种 Python 工具来解析编程语言 它应该允许源代码中语言语法的可读表示 并且应该能够扩展到复杂的语言 语法像 Python 本身一样复杂的语言 当我搜索时 我主要找到 pyparsing 我将对其进行评估 但当然我对其他替代
  • 用于单元/集成测试的嵌入式动物园管理员

    是否有嵌入式动物园管理员以便我们可以在单元测试中使用它 它可以与测试一起发货并开箱即用 也许我们可以模拟一些服务并注册到嵌入式动物园管理员 The Curator https github com Netflix curator wiki框
  • Mac 版 Github:缺少拉取请求按钮

    周六 我在 Mac 上安装了 Github Desktop 并尝试了 Github Workflow 创建一个分支 提交更改并执行拉取请求 一切顺利 今天我在工作中安装了 Mac 版 Github 但找不到 Pull Request 按钮
  • Typescript 在 vs 2015 ctp 6 中禁用保存时编译

    我需要知道如何禁用打字稿文件保存时编译 默认情况下启用 Typescript 编译 您可以执行下一步来禁用它 选择并单击 卸载项目 菜单项 选择已卸载的项目并单击 编辑 kproj 将新的 PropertyGroup 节点添加到项目根节点
  • 捆绑链接的 JavaScript 文件

    我正在使用 Visual Studio 2012 和 MVC4 我已将链接文件 来自另一个项目 添加到我的 MVC4 应用程序中 以下是该文件的属性 构建操作 内容 复制到输出目录 不复制 这是我的捆绑包的示例 bundles Add ne
  • WPF DataGrid AlternatingRowBackground 和 RowStyle 优先级

    我该如何做我的RowStyle后申请AlternatingRowBackground 我想要物品 有IsOrange as true具有Orange背景 无论交替的行背景如何 目前情况并非如此 XAML
  • 当选择文本时,如何用我自己的视图替换 UIMenuController?

    当选择文本时 默认情况下会弹出一个 UIMenuController 其中包含剪切 复制 粘贴等功能 我想用我自己的自定义视图替换它 外观相似 但高两倍 以便我可以有两行按钮 自定义视图 我怎样才能做到这一点 我知道没有简单的方法 我预计即
  • Mongodb动态like运算符

    在 mongodb 中相当于 sql like 运算符是 db users find shows m 使用 nodejs javascript 我想根据 url 参数动态更改字母 我努力了 letter req params letter
  • RxJava Observable.fromEmitter 奇怪的背压行为

    我一直在利用Observable fromEmitter 作为一个绝佳的替代品Observable create 我最近遇到了一些奇怪的行为 但我不太明白为什么会出现这种情况 我真的很感谢对背压和调度程序有一定了解的人来看看这个 publi
  • WebClient.DownloadString 速度慢?

    我正在开发一个使用 ASP Net 3 5 运行的 Web 应用程序 在应用程序的某个地方 我正在调用外部系统 此调用包括从特定 url 下载字符串 string targetUrl BuildMyUrl WebClient wc new
  • str(列表) 是如何工作的?

    为什么str list 返回我们如何在控制台上看到列表 如何str list 工作 任何对 CPython 代码的引用str list gt gt gt x abc def ghi gt gt gt str x abc def ghi 要从
  • 通过 C/C++ 程序使 LED 闪烁的步骤?

    通过 C C 程序制作带有 LED 闪光灯的小电路的最简单步骤是什么 我希望所需的依赖项和包数量最少 我应该将某些东西连接到哪个端口 我会使用哪个编译器 如何将数据发送到该端口 我需要微处理器吗 如果不是 我不想在这个简单的项目中使用它 编
  • 在 Jenkinsfile 中设置 SonarQube Webhook

    我正在尝试创建一个 Jenkins 多分支管道 在每次推送到 bitbucket 时 都会对项目的该分支执行 SonarQube 分析 Jenkins 正确地为每个分支创建新作业 并在 SonarQube 中创建一个新项目 并将分支名称附加
  • 表面和纹理之间的差异(SDL/一般)

    谁能用简单的语言向我解释一下纹理和表面有什么区别 我看到它用在SDL2 as SDL Surface and SDL Texture SDL Texture是从创建的SDL Surface它又是从图像 位图创建的 两者都是像素的集合 但我没
  • 静态 uint8_t 数组的输入过程和类型

    我目前正在尝试将 Arduino IDE 中的整数变量转换为静态 uint8 t 数组的值 我在用 include