有一个数组:2e 5f 2f 03 如何倒序,急!在线等候

解决方案 »

  1.   

    使用stlint A[6] = { 0x2e , 0x5f , 0x2f , 0x03  };
    std::reverse(A, A + 6);
      

  2.   

    #include <algorithm>int A[6] = { 0x2e , 0x5f , 0x2f , 0x03  };
    std::reverse(A, A + 4); 
      

  3.   

    谢谢各位,除了std的方法外还有其它的吗?
      

  4.   

    temp = a[3];
    a[3] = a[0];
    a[0] = temp;
      

  5.   

    BYTE a[4] = {0x2e, 0x5f, 0x2f, 0x03};
    BYTE b;
    b = a[0];
    a[0] = a[3];
    a[3] = b;
    b = a[1];
    a[1] = a[2];
    a[2] = b;
      

  6.   


    INT HexEnum[] = {0x2e, 0x5f, 0x2f, 0x03};swap(int&m, int&n)
    {
    int Temp = 0;
    Temp = m;
    m = n;
    n = temp;
    }int main()
    {
    int nCount = sizeof(HexEnum)/sizeof(INT);
    for(int i = 0; i< nCount/2; i++)
    {
    swap(HexEnum[i], HexEnum[nCount - 1]);
    }
    }
      

  7.   

    谢谢wutaihua 晚上试后明天回复。谢谢
      

  8.   

    DWORD A = 0x2e5f2f03;__asm mov eax, A;
    __asm bswap eax;
    __asm mov A, eax;
      

  9.   

    找到一种更简单的方法,不用函数,只用数组交换,利用指针。但是数据是在char*buffer中,该如何写呢?
      

  10.   

    char buffer[] = {0x2e,0x5f,0x2f,0x03};
    char temp;
    for(int i = 0; i < 4/2; i++)
    {
    temp = *(buffer + i);
    *(buffer + i) = *(buffer - i + (4 - 1));
    *(buffer - i + (4 - 1))) = temp;
    }
      

  11.   

    如果你存储到一个unsigned char数组中了,可以用htonl来转换。