gpt4 book ai didi

c++ - 将一个字符串分成一个数组

转载 作者:行者123 更新时间:2023-11-30 21:12:18 24 4
gpt4 key购买 nike

我的 Arduino 中有一串二进制数字。我需要将它们转换为数组。该数据代表 LED 显示屏中的光柱。在我的程序中,我已经有一个工作函数,它接受一个数组并使用数据在屏幕上显示单词。数据需要格式化如下所示:

我的字符串可能有几种不同的外观。以下是示例:

char CurrentWord = "11111110001000000100011111110000000B00000001000001111111110000010000000";

或者

char CurrentWord = "1111111 0001000 0001000 1111111 0000000 B0000000 1000001 1111111 1000001 0000000";

或者甚至:

char CurrentWord = "B1111111 B0001000 B0001000 B1111111 B0000000 B0000000 B1000001 B1111111 B1000001 B0000000";

上面的示例将在屏幕上生成单词“Hi”。然而,为了使显示正常工作,数据必须转换为数组。所以它必须看起来像这样:

int CurrentWordInt[] = {B1111111, B0001000, B0001000, B1111111, B0000000, B0000000, B1000001, B1111111, B1000001, B0000000};

我该怎么做?

最佳答案

如果问题是如何让 C++ 解析二进制文件,那么使用这个宏:

#define B(in) ( ((in&(1<< 0))>> 0) \
|((in&(1<< 3))>> 2) \
|((in&(1<< 6))>> 4) \
|((in&(1<< 9))>> 6) \
|((in&(1<<12))>> 8) \
|((in&(1<<15))>>10) \
|((in&(1<<18))>>12) \
|((in&(1<<21))>>14) \
|((in&(1<<24))>>16) \
)


#include <iostream>
int main() {
int CurrentWordInt[] = {B(01111111), B(00001000), B(0001000), B(01111111), B(0000000)};
std::cout << CurrentWordInt[0] << ' ';
std::cout << CurrentWordInt[1] << ' ';
std::cout << CurrentWordInt[2] << ' ';
std::cout << CurrentWordInt[3] << ' ';
std::cout << CurrentWordInt[4] << ' ';
}

显示 127 8 8 127 0
请注意,此宏要求所有输入均为零,后跟七个一/零。

如果这不是您的问题,那么我不知道您要问我们什么。

关于c++ - 将一个字符串分成一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8086281/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com