컴퓨터 엑셀 워드 포토숍 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Previous Post C언어] 문자열 길이 구하기 함수, 바이트 단위 글자 개수 얻기; String Size B...C언어] char 배열, 문자열 버퍼 내용 지우기, 초기화; Clear char Array...매스매티카 학생판, 전문가용 버전 차이점, 가격 기능 차이; Mathematica Stud...PHP 예제] switch문, case문, break문, default문: 스위치-문PHP 예제] 문자열을 배열로 변환 저장 함수; String to Array기름몰, 효리몰, 감기몰, 설탕몰 등 쇼핑몰 애칭 의미; GS-G-H-CJ-KTPHP 예제] 배열을 문자열로 변환/연결/병합, 배열 합치기; Join Array배치 파일에서, 숫자 계산하기, set 명령으로 더하기 빼기; Batch File Calc...배치파일 무한루프 구현, 루프 탈출, 빠져 나오기 예제; Batch File Infinit...무한대 기호 입력, 무한대 특수문자 특수기호 입력 방법; Infinity Sign Inpu...

C언어] 한글 글자 수 구하기 함수, 2바이트 문자열 길이, 사이즈; mbslen

Friday, June 01, 2007

영문 문자열과 달리, 한글은 2바이트 문자이기에 _mbslen() 함수를 사용해야 정확한 "한글 글자 개수"를 구할 수 있습니다.

그리고 한글 문자열이 "unsigned char"형으로 정의되어 있어야 합니다. 그냥 char형으로 하면 error C2664: '_mbslen' : cannot convert parameter 1 from 'char [3]' to 'const unsigned char *'. Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast 이런 에러가 발생합니다.

mbstring.h 라는 헤더 파일을 인클루드해 주어야 합니다.

_mbslen() 함수: 한글 문자열 크기 (글자 개수) 구하기 예제


소스 파일명: example.cpp
#include <stdio.h>
#include <mbstring.h>

int main(void) {

  unsigned char h[] = "똠방각하A";

  printf("%u\n", _mbslen(h));
  // 출력 결과: 5
  // (한글 4자 + 영문 알파벳 1자 = 5)

  return 0;
}


테스트 문자열을 "똠방각하A"라고 적어 놓고 보니, 무슨 B급 액션영화 제목 같군요.


영문 문자열 길이 (바이트 수) 구하기: ▶▶ C언어] 문자열 길이 구하기 함수, 바이트 단위 글자 개수 얻기; String Size Byte

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Categories
Previous Posts
Monthly Archives
Top