简单的转换有关问题!求指教

简单的转换问题!求指教!
C/C++ code

    char * DayInfo = "20120924";
    char day[4];


怎样转换将上述的日期按照下面的格式放到day数组里面去.
day[0] = 0x16;
day[1] = 0x0C;
day[2] = 0x09;
day[3] = 0x18;

------解决方案--------------------
哼哼
C/C++ code
#include <stdio.h>
#include <emmintrin.h>

using namespace std;

int main()
{
    char * DayInfo = "20120924";
    char day[4];

    __m128i x = _mm_loadl_epi64(reinterpret_cast<const __m128i*>(DayInfo));
    __m128i y = _mm_set1_epi8(0x0f);
    x = _mm_and_si128(x, y);
    y = _mm_set1_epi8(0);
    x = _mm_unpacklo_epi8(x, y);
    y = _mm_set1_epi32(0x0001000a);
    x = _mm_madd_epi16(x, y);
    x = _mm_packs_epi32(x, x);
    x = _mm_packs_epi16(x, x);

    *reinterpret_cast<int*>(day) = _mm_cvtsi128_si32(x);


    printf("%s --> 0x", DayInfo);
    for (int i = 0; i < 4; ++i) printf("%.2x", day[i]);
    printf("\n");

    return 0;
}

------解决方案--------------------
引用:
C/C++ code
    char * DayInfo = "20120924";
    char day[4];
     for (int i = 0; i != 4; i++)
    {
        sscanf_s(DayInfo + 2*i,"%2d",&day[i]);
    }