久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: C語言一次按4字節倍數讀取,怎么優雅改成按讀1字節倍數讀取呢? [打印本頁]

作者: hei51com    時間: 2022-4-5 19:43
標題: C語言一次按4字節倍數讀取,怎么優雅改成按讀1字節倍數讀取呢?
C語言源程序如下:
  1. int flash_read(UINT32 ptr_add,uint8_t *buffer,int Read_Lengh )
  2. {
  3.         UINT32 *ptr = (UINT32*)ptr_add;
  4.         UINT32 buf = 0;
  5.         int black = 0;
  6.         int r_black = 0;
  7.         black = Read_Lengh/4;

  8.         while(black!= r_black)
  9.         {
  10.                 buf = *ptr;
  11.                 buffer[0+r_black*4] = buf&0x000000ff;
  12.                 buffer[1+r_black*4] = buf>>8&0x000000ff;
  13.                 buffer[2+r_black*4] = buf>>16&0x000000ff;
  14.                 buffer[3+r_black*4] = buf>>24&0x000000ff;
  15.                 ptr++;

  16.                 printf("%02X %02X %02X %02X ",buffer[0+r_black*4],buffer[1+r_black*4],buffer[2+r_black*4],buffer[3+r_black*4]);
  17.                 r_black++;
  18.                 if ((r_black*4)%16==0)
  19.                         printf("\n");
  20.         }
  21.         printf("\n");
  22.         return (r_black*4);
  23. }
復制代碼



作者: Hephaestus    時間: 2022-4-5 23:57
  1. uint8_t *ptr = ptr_add;
  2. ...
  3.                 buf = *ptr;
  4.                 buffer[0+r_black*4] = *(ptr++);
復制代碼

作者: hei51com    時間: 2022-4-6 01:08
Hephaestus 發表于 2022-4-5 23:57

感謝幫忙解答,寫的好簡潔,我試試看
作者: DoneDone    時間: 2022-4-6 06:55
這是指針最基礎的用法,C++最精髓的地方了,不是說教,這都沒理解好就強行編碼會陷入更大的麻煩的。
作者: hei51com    時間: 2022-4-6 12:10
hei51com 發表于 2022-4-6 01:08
感謝幫忙解答,寫的好簡潔,我試試看

這樣修改后,符合期望了
int ByteReadFlash(UINT32 ptr_add,uint8_t *buffer,int Read_Lengh )
{
        uint8_t *ptr = ((uint8_t*)ptr_add);
        int black = 0;
        int r_black = 0;
        black = Read_Lengh;
                printf("Read_Lengh %d,black %d\n",Read_Lengh,black);
        while(black!= r_black)
        {
                buffer[0+r_black] = *(ptr++);
                printf("%02X ",buffer[0+r_black]);
                r_black++;
                if ((r_black)%16==0)
                        printf("\n");
        }
        printf("\n");
        return (r_black);
}
作者: hei51com    時間: 2022-4-6 12:14
DoneDone 發表于 2022-4-6 06:55
這是指針最基礎的用法,C++最精髓的地方了,不是說教,這都沒理解好就強行編碼會陷入更大的麻煩的。

說的確實是,我一直沒能理解好,請教下有沒有竅門呢?




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 欧美日韩在线免费 | 欧美一级视频免费看 | 国产小视频精品 | 日韩在线观看一区 | 亚洲国产精品久久人人爱 | 中文字幕一区二区三区四区五区 | 国产综合精品 | 欧美精品一区二区三区四区五区 | 亚洲网一区| 国产精品日韩一区二区 | 国产精品福利在线观看 | 可以免费观看的av | 久久久新视频 | 欧美一区二区三区在线看 | 伊人超碰| 国产在线精品一区二区三区 | 亚洲精品在线视频 | 亚洲国产免费 | 国产不卡在线观看 | 午夜一区二区三区在线观看 | 精品国产乱码久久久久久丨区2区 | 亚洲精品第一 | 精品日韩 | 欧美激情精品久久久久久 | 99在线免费观看 | 亚洲第一视频网 | 日本大香伊一区二区三区 | 日日干日日操 | 日韩在线免费视频 | 欧美中文在线 | 亚洲国产精品久久 | 日韩欧美精品在线播放 | 欧美一级黄色免费看 | 欧美性一区二区三区 | 国产乱码精品一区二区三区中文 | 国产精品免费看 | ririsao久久精品一区 | 国产999精品久久久久久绿帽 | 福利视频网站 | 亚洲国产成人在线视频 | 日韩毛片网|