首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Uint32_t读写字符串

使用Uint32_t读写字符串
EN

Stack Overflow用户
提问于 2017-05-24 09:34:39
回答 1查看 484关注 0票数 1

使用一些芯片,我试图保存C字符串,其中芯片只工作与Uint32_t数字。

因此,为了保存char数组,我使用以下方法:

代码语言:javascript
复制
            char data[]="lala"; 
            uint32_t save;       //save this to memo
            memcpy(&save, data, 4);

然后,当我阅读它时,我得到一个指向数字的指针,其中每个数字都是一个字符串(例如,首先是“lala”),我必须从这些Uint32_t中提取字符串,但我得到的结果是空的:

代码语言:javascript
复制
uint32_t *data;
data = (uint32_t *) flash_record; //data pointer from some flash

//now loop over all numbers to read them:
   for (uint8_t i=0;i<flash_len;i++)
        {
                   char bytes[6];
                                   char n = data[i];
                                   bytes[0] = (n >> 24) & 0xFF;
                                   bytes[1] = (n >> 16) & 0xFF;
                                   bytes[2] = (n >> 8) & 0xFF;
                                   bytes[3] = n & 0xFF;
                                   for (int k=0;k<4;k++)
                                      printf(message:%c,bytes[k]

        }

我该怎么循环才能把单词提取回来?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-24 09:38:27

问题是:

代码语言:javascript
复制
char n =  data[i];

它应该是

代码语言:javascript
复制
uint32_t n = data[i];
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44154526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档