C ++에서 문자열 앞의 'L'은 무엇을 의미합니까?
this->textBox1->Name = L"textBox1";
없이 작동하는 것처럼 보이지만 L
접두사의 목적은 무엇입니까? 그것이 사용되는 방식은 하드 코어 C 프로그래머에게는 의미가 없습니다.
그것은의 wchar_t
확장 문자 세트의 문자. Wikipedia 는이 주제와 C ++ 예제에 대해 약간의 토론을합니다.
'L'은 wchar_t
일반 문자와 달리 8 비트가 아닌 16 비트 스토리지가 필요함을 의미합니다. 예를 들면 다음과 같습니다.
"A" = 41
"ABC" = 41 42 43
L"A" = 00 41
L"ABC" = 00 41 00 42 00 43
A wchar_t
는 단순 문자의 두 배입니다. 매일 사용하는 경우 wchar_t를 사용할 필요는 없지만 windows.h를 사용하는 경우 필요합니다.
이는 텍스트가 wchar_t
평범한 오래된 char
문자가 아닌 문자 로 저장됨을 의미합니다 .
(나는 원래 그것이 유니 코드를 의미한다고 말했다. 나는 그것에 대해 틀렸다. 그러나 유니 코드에 사용될 수있다.)
이는 넓은 문자임을 의미합니다 wchar_t
.
1L
긴 값과 비슷 합니다.
wchar_t
좁은 문자 ( char
) 대신 넓은 문자 ( ) 의 배열임을 의미합니다 .
유니 코드 문자열 일 필요는 없으며 다른 종류의 문자 일뿐 입니다.
L은 넓은 문자열에 사용되는 접두사입니다. 각 문자는 크기에 따라 몇 바이트를 사용합니다 wchar_t
. 사용 된 인코딩은이 접두사와 독립적입니다. 다른 답변에서 언급 한 것과 달리 반드시 UTF-16 일 필요는 없습니다.
참고 URL : https://stackoverflow.com/questions/6384118/what-does-the-l-in-front-a-string-mean-in-c
'IT story' 카테고리의 다른 글
Bash 스크립트에서 주석 달기 (0) | 2020.06.13 |
---|---|
입력 유형 =“파일”에서 기본 텍스트를 변경 하시겠습니까? (0) | 2020.06.13 |
백 스택에 추가 될 때 어떻게 프래그먼트 상태를 유지할 수 있습니까? (0) | 2020.06.13 |
패널 또는 PlaceHolder 사용 (0) | 2020.06.13 |
UnboundLocalError가 발생하는 이유를 이해하지 못함 (0) | 2020.06.13 |