개발하면서/etc

문자열안에 아스키 코드넣기

오산돌구 2009. 12. 22. 23:52

문자열을 알맞게 분리한후 각 data사이에 구분자를 넣은뒤
검색엔진한테 보내주는 것을 개발하고 있었다.

아스키 코드 31번이 거의 안쓰는것같아서 구분자를 \31로 하였다. 당연히 난 아스키코드 31이 될줄알았는데...어라;;
왜 Can't find delim이 출력이 되지?ㅎㄷㄷㄷ
 

int main()
{
    char delim = '\31';

    if ( delim == 31 )
    {
        printf("Find delim\n");
    }
    else
    {
        printf("Can't find delim\n");
    }
    return 0;
}

검색하다가

특수문자설명해준 사이트

  를 찾았고....아.........나의 무지에 고개를 들수없었다...ㅋㅋㅋㅋㅋ;;;
특수문자를 표현할때 \0??, \??는 10진수가 아니라 8진수였다.
  아래와 수정 하니 잘 된다.


int main()
{
    char delim = '\37';
    if ( delim == 31 )
    {
        printf("Find delim\n");

    }
    else
    {
        printf("Can't find delim\n");
    }
    return 0;
}

16진수도 해봤는데 잘 되네;

int main()
{
    char delim = '\x1F';
    if ( delim == 31 )
    {
        printf("Find delim\n");
    }
    else
    {

        printf("Can't find delim\n");
    }
    return 0;
}