共用方式為


CStrBufT 類別

這個類別會針對 GetBuffer 現有 CStringT 物件提供和 ReleaseBuffer 呼叫的自動資源清除。

語法

template<typename TCharType>
class CStrBufT

參數

TCharType
類別的 CStrBufT 字元類型。 可以是下列其中一項:

  • char (適用于 ANSI 字元字串)

  • wchar_t (針對 Unicode 字元字串)

  • TCHAR (適用于 ANSI 和 Unicode 字元字串)

成員

公用 Typedefs

名稱 描述
PCXSTR 常數位符串的指標。
PXSTR 字串的指標。
StringType 字串類型,其緩衝區是由這個類別範本的特製化所操作。

公用建構函式

名稱 描述
CStrBufT::CStrBufT 字串緩衝區物件的建構函式。

公用方法

名稱 描述
CStrBufT::SetLength 設定相關聯字串物件的字元緩衝區長度。

公用運算子

名稱 描述
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
與緩衝區相關聯的字串物件。 一般而言,開發人員會使用預先定義的 typedefs CStrBuf (TCHAR variant)、 CStrBufAchar variant) 和 CStrBufWwchar_t variant)。

nMinLength
字元緩衝區的最小長度。

dwFlags
判斷字串長度是否自動決定。 可以是下列其中一項:

  • 呼叫 CSimpleStringT::Release ,會自動判斷字串長度AUTO_LENGTH。 字串必須以 Null 結束。 預設值。

  • 呼叫 CSimpleStringT::GetBuffer ,會設定SET_LENGTH字串長度。

備註

建立相關聯字串物件的字串緩衝區。 在建構期間, 會呼叫 CSimpleStringT::GetBuffer CSimpleStringT::GetBufferSetLength

請注意,複製建構函式是 private

CStrBufT::operator PCXSTR

直接存取儲存在相關聯字串物件中的字元做為 C 樣式字串。

operator PCXSTR() const throw();

傳回值

字串資料的字元指標。

備註

呼叫此函式,以傳回字串物件的字元緩衝區指標。 此指標無法變更字串物件的內容。

CStrBufT::operator PXSTR

直接存取儲存在相關聯字串物件中的字元做為 C 樣式字串。

operator PXSTR() throw();

傳回值

字串資料的字元指標。

備註

呼叫此函式,以傳回字串物件的字元緩衝區指標。 開發人員可以使用這個指標來變更字串物件的內容。

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::GetBufferSetLength::GetBufferStringT::GetBufferSetLength

CStrBufT::SetLength

設定字元緩衝區的長度。

void SetLength(int nLength);

參數

nLength
字串物件之字元緩衝區的新長度。

注意

必須小於或等於 建構函式 CStrBufT 中指定的最小緩衝區長度。

備註

呼叫此函式,以設定緩衝區物件所表示之字串的長度。

CStrBufT::StringType

字串類型,其緩衝區是由這個類別範本的特製化所操作。

typedef CSimpleStringT<TCharType> StringType;

備註

TCharType 是用來特製化類別範本的字元類型。

另請參閱

階層架構圖表
ATL/MFC 共用類別