Encoding, decoding an integer to a char array

后端 未结 10 2275
借酒劲吻你
借酒劲吻你 2021-02-06 19:44

Please note that this is not homework and i did search before starting this new thread. I got Store an int in a char array?

I was looking for an answer but didn\'t get a

10条回答
  •  天涯浪人
    2021-02-06 20:30

    I've looked at this page a million times, and I really appreciate all the other answers for helping me out. Here is the stub I am using, which is unique from other answers because it can be used in a for loop:

    void encode_int_as_char(int num, char *buf, int length){
        int i;
        for (i = 0; i < length; i++){
            buf[i] = (char)(num >> ((8 * (length - i - 1)) & 0xFF));
        }
    }
    
    int decode_int_from_char(char *enc, int length){
        int i, num, cur;
    
        num = 0;
        for (i = 0; i < length; i++){
            cur = (unsigned char) enc[i] << (8 * (length - i - 1));
            num += (int) cur;
        }
    
        return num;
    }
    

提交回复
热议问题