Written by oasis ([email protected]) | Hits: 26 , Lines: 31 |
감사합니당(냉무) |
---|
이태웅 wrote: > 안녕하세요~ > > #define LENGTH 50 > > char imsi[150]="",c; /* 문자열이 저장될 배열과 임시로 문자체크에 필요한 변수 선언. 문자열을 넉넉하게.. –; */ > int k,flag=0; /* for 루프를 돌리기 위한 k와 필요한 길이까지 한글이 짤리는지 안짤리는 파악하는 플래그 */ > > sprintf(imsi,"%s",문자열이 있는 변수); /* 문자열길이 생각하기 귀찮아서 sprintf사용 */ > for (k=0;LENGTH>k;k++) > { > c=imsi[k]; > if ((int)c<0) flag++; > else flag=0; > } /* 제한길이까지 한글코드를 구성하는 코드가 몇개인지 세는중 0보다 작은 코드면 한글코드란 예기, 부호가 있는 char의 경우예요.. */ > > if ((flag%2)==0) > { > for (k=0;k<LENGTH+1;k++) imsi[k]=0x00; > strncpy(imsi,문자열이 있는 변수,LENGTH); > } /* 짝수면 한글이 똑 떨어지는 경우니까 그냥 길이까지 출력 */ > else{ > for (k=0;k<LENGTH+1;k++) imsi[k]=0x00; > strncpy(imsi,문자열이 있는 변수,LENGTH-1); > } /* 홀수면 코드하나 더 출력하면 됩니다. */ > if (strlen(imsi)<LENGTH) printf("%s",imsi); /* 길이를 봐서 문자열이 짧으면 걍 출력 */ > else printf("%s…",imsi); /* 문자열이 길면 뒤에 더 있다는 표시로 … 점찍어주기.. */ > 쉽죵? > 행복하세요~ |
Prev : Re: 아주 긴 한글문자열을 일정길이 만큼 어케 잘라요? Next : [search] 기능에 대해… |
February 5, 2002 (14:40) from 211.236.164.150 CrazyWWWBoard 98 Professional Edition II |
[Home] [About] [Examples] [Changes] [Download] [Install] [Reference] [Bugs] [Q&A;] |