본문 바로가기

Native/C

예제 1-22

/***************************************************************************
*
*        Date            : 2005-04-11
*        Copyright        : aucd29
*        E-mail            : aucd29@daum.net
*
*        한행의 n번째 열 앞에 나타나는 빈칸 아닌 문자 중에서 마지막 문자의 뒷부분을 다음 행으로
*        보내어 한행을 두 개 이상의 행으로 만들자
*
***************************************************************************/

//
// 문장 끝의 단어를 개행시켜블자~!
//
void CutNewLine(int *len)
{
    int i,mark=0,cnt=0,temp=0;

    for(i=*len;i>0;--i)
    {
        //
        // 마지막 줄에 빈칸이 존재할땐 넘어가기 위해서
        //
        if(line[i]!='\n' && line[i]!='\0' && line[i]!=' ') mark=1;

        if(mark)
        {
            // 그 뒤에 들어오는 글자를 카운팅 한다.
            if(line[i]!=' ')
                ++cnt;
            else
                break;
        }
    }

    temp = i;
    
    while(cnt < 0)
    {
        line[i] = line[i+1];
        --cnt;
    }

    line[temp] = '\n';
    *len++; // \n를 추가했기에 increment
}

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

16진수를 10진수로 바꾸자  (0) 2013.10.02
예제 1-23  (0) 2013.10.02
예제 1-21  (0) 2013.10.02
예제 1-19  (0) 2013.10.02
예제 1-20  (0) 2013.10.02