Written by 이태웅 ([email protected]) | Hits: 137 , Lines: 28 |
Re: 아주 긴 한글문자열을 일정길이 만큼 어케 잘라요? |
---|
안녕하세요~ #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 : 아주 긴 한글문자열을 일정길이 만큼 어케 잘라요? Next : 감사합니당(냉무) |
February 5, 2002 (12:07) from 203.229.230.9 CrazyWWWBoard 98 Professional Edition II |
[Home] [About] [Examples] [Changes] [Download] [Install] [Reference] [Bugs] [Q&A;] |