CStrBufT 클래스
이 클래스는 기존 개체에 대한 GetBuffer
자동 리소스 정리 및 ReleaseBuffer
호출을 CStringT
제공합니다.
구문
template<typename TCharType>
class CStrBufT
매개 변수
TCharType
클래스의 문자 형식입니다 CStrBufT
. 다음 중 하나일 수 있습니다.
char
(ANSI 문자 문자열의 경우)wchar_t
(유니코드 문자열의 경우)TCHAR
(ANSI 및 유니코드 문자열 모두)
멤버
공용 Typedefs
속성 | 설명 |
---|---|
PCXSTR |
상수 문자열에 대한 포인터입니다. |
PXSTR |
문자열에 대한 포인터입니다. |
StringType |
이 클래스 템플릿의 특수화로 버퍼를 조작할 문자열 형식입니다. |
공용 생성자
속성 | 설명 |
---|---|
CStrBufT::CStrBufT | 문자열 버퍼 개체의 생성자입니다. |
공용 메서드
이름 | 설명 |
---|---|
CStrBufT::SetLength | 연결된 문자열 개체의 문자 버퍼 길이를 설정합니다. |
Public 연산자
속성 | 설명 |
---|---|
CStrBufT::operator PCXSTR | const 연결된 문자열 개체의 문자 버퍼에 대한 포인터를 검색합니다. |
CStrBufT::operator PXSTR | 연결된 문자열 개체의 문자 버퍼에 대한 포인터를 검색합니다. |
공용 상수
속성 | 설명 |
---|---|
CStrBufT::AUTO_LENGTH | 릴리스 시 문자열의 새 길이를 자동으로 결정합니다. |
CStrBufT::SET_LENGTH | GetBuffer 시간에 문자열 개체의 길이 설정 |
설명
이 클래스는 GetBuffer 및 ReleaseBuffer 또는 GetBufferSetLength 및 ReleaseBuffer
에 대한 호출을 바꾸기 위한 래퍼 클래스로 사용됩니다.
주로 도우미 클래스 CStrBufT
로 설계된 개발자는 호출 ReleaseBuffer
방법이나 시기에 대해 걱정하지 않고 문자열 개체의 문자 버퍼로 작업할 수 있는 편리한 방법을 제공합니다. 이는 예외 또는 여러 종료 코드 경로의 경우 래퍼 개체가 자연스럽게 범위를 벗어나기 때문일 수 있습니다. 으로 인해 소멸자가 문자열 리소스를 해제합니다.
요구 사항
헤더: atlsimpstr.h
CStrBufT::AUTO_LENGTH
릴리스 시 문자열의 새 길이를 자동으로 결정합니다.
static const DWORD AUTO_LENGTH = 0x01;
설명
릴리스 시 문자열의 새 길이를 자동으로 결정합니다. 문자열은 null로 종료되어야 합니다.
CStrBufT::CStrBufT
버퍼 개체를 생성합니다.
CStrBufT(StringType& str, int nMinLength, DWORD dwFlags = AUTO_LENGTH) throw(...);
explicit CStrBufT(StringType& str) throw(...);
매개 변수
str
버퍼와 연결된 문자열 개체입니다. 일반적으로 개발자는 (TCHAR 변형), CStrBufA
(variant) 및 CStrBufW
(wchar_t
variant)의 CStrBuf
미리 정의된 typedefs를char
사용합니다.
nMinLength
문자 버퍼의 최소 길이입니다.
dwFlags
문자열 길이가 자동으로 결정되는지 여부를 결정합니다. 다음 중 하나일 수 있습니다.
AUTO_LENGTH 문자열 길이는 CSimpleStringT::Release가 호출될 때 자동으로 결정됩니다. 문자열은 null로 종료되어야 합니다. 기본값입니다.
SET_LENGTH 문자열 길이는 CSimpleStringT::GetBuffer가 호출되면 설정됩니다.
설명
연결된 문자열 개체에 대한 문자열 버퍼를 만듭니다. 생성 중에 CSimpleStringT::GetBuffer 또는 CSimpleStringT::GetBufferSetLength 가 호출됩니다.
복사 생성자는 .입니다 private
.
CStrBufT::operator PCXSTR
연결된 문자열 개체에 저장된 문자를 C 스타일 문자열로 직접 액세스합니다.
operator PCXSTR() const throw();
Return Value
문자열의 데이터에 대한 문자 포인터입니다.
설명
문자열 개체의 문자 버퍼에 대한 포인터를 반환하려면 이 함수를 호출합니다. 이 포인터를 사용하여 문자열 개체의 내용을 변경할 수 없습니다.
CStrBufT::operator PXSTR
연결된 문자열 개체에 저장된 문자를 C 스타일 문자열로 직접 액세스합니다.
operator PXSTR() throw();
Return Value
문자열의 데이터에 대한 문자 포인터입니다.
설명
문자열 개체의 문자 버퍼에 대한 포인터를 반환하려면 이 함수를 호출합니다. 개발자는 이 포인터를 사용하여 문자열 개체의 내용을 변경할 수 있습니다.
CStrBufT::P CXSTR
상수 문자열에 대한 포인터입니다.
typedef CSimpleStringT<TCharType>::PCXSTR PCXSTR;
CStrBufT::P XSTR
문자열에 대한 포인터입니다.
typedef CSimpleStringT<TCharType>::PXSTR PXSTR;
CStrBufT::SET_LENGTH
문자열 개체의 길이를 지정합니다 GetBuffer
.
static const DWORD SET_LENGTH = 0x02;
설명
GetBuffer 시간에 문자열 개체의 길이를 설정합니다.
문자열 버퍼 개체가 생성될 때 CSimpleStringT::GetBuffer 및 CSimpleStringT::GetBufferSetLength가 호출되는지 여부를 확인합니다.
CStrBufT::SetLength
문자 버퍼의 길이를 설정합니다.
void SetLength(int nLength);
매개 변수
nLength
문자열 개체의 문자 버퍼의 새 길이입니다.
참고 항목
의 생성자에 CStrBufT
지정된 최소 버퍼 길이보다 작거나 같아야 합니다.
설명
버퍼 개체가 나타내는 문자열의 길이를 설정하려면 이 함수를 호출합니다.
CStrBufT::StringType
이 클래스 템플릿의 특수화로 버퍼를 조작할 문자열 형식입니다.
typedef CSimpleStringT<TCharType> StringType;
설명
TCharType
는 클래스 템플릿을 특수화하기 위해 사용되는 문자 형식입니다.