zoukankan      html  css  js  c++  java
  • 2.60 替换指定字节数据

    //csapp 2.60

    #include <stdio.h>                                                                                                                         
    #include <inttypes.h>
    
    typedef unsigned char * char_point;
    
    uint32_t replace_byte(uint32_t x, int i, unsigned char b)
    {
        if(i > 3 || i < 0) {
            return -1;
        }
    
        char_point char_date_point = ((char_point) &x) + i;
    
        *char_date_point = b;
    
        printf("result : %X
    ", x);
        return x;
    }
    
    int main(void)
    {
        unsigned char replace_data = 0xAB;
    
        uint32_t x = 0x12345678;
        uint32_t  r_x = 0x12AB5678;
        int i_x = 2;
    
    
        uint32_t  y = x;
        uint32_t r_y = 0x123456AB;
        int i_y = 0;
    
        printf("r_x == result : %d
    ", r_x == replace_byte(x, i_x, replace_data));
        printf("r_y == result : %d
    ", r_y == replace_byte(y, i_y, replace_data));
    
        return 1;
    }
    邮箱:quiet_learn@163.com
    本文版权归作者和博客园共有,欢迎转载,转载请在文章明显位置注明作者及出处,谢谢!
  • 相关阅读:
    第十周作业--阅读(五一)
    第九周作业
    第八周作业
    第七周作业
    第六周作业
    模板
    第五周作业
    第四周作业
    第三周作业
    文件
  • 原文地址:https://www.cnblogs.com/LonelyTraveler/p/12853105.html
Copyright © 2011-2022 走看看