본문 바로가기

Native/C

예제 1-21

/***************************************************************************
*
*        Date            : 2005-04-11
*        Copyright        : aucd29
*        E-mail            : aucd29@daum.net
*
*        빈칸이 연속으로 나올때 tab으로 바꿔라
*
***************************************************************************/

void enTab(int *len)
{
    int i=0,j=0,cnt=0;
    
    while(line[i] != '\n')
    {
        //
        // 빈칸을 검사하도록 하자.
        //
        if(line[i]==' ') ++cnt;
        else cnt = 0;

        //
        // 빈칸이 5개 이상이면 tab과 동일한 크기 이므로 탭으로 전환하자.
        //
        if(cnt>5)
        {
        //    printf("ok");
            j=i-5;
            line[j] = '\t';
            
            ++j;
            while(1)
            {
                if(i==*len) break;
                line[j] = line[i+1];
                ++j; ++i;
            }
            i = j;
        }

        ++i;    // increment
    }

    line[++i] = '\0';
    *len = strlen(line);
}

'Native > C' 카테고리의 다른 글

예제 1-23  (0) 2013.10.02
예제 1-22  (0) 2013.10.02
예제 1-19  (0) 2013.10.02
예제 1-20  (0) 2013.10.02
예제 1-18  (0) 2013.10.02