CString::GetBuffer

LPTSTR GetBuffer ( int nMinBufLength );
スロー ( CMemoryException );

戻り値

オブジェクトの文字 (null) バッファー、 LPTSTRポインター。

パラメーター

nMinBufLength

文字の文字バッファーの最小サイズ。この値は、null 終端文字用の領域を含まない。

解説

CStringオブジェクトの内部文字バッファーへのポインターを返します。返されるLPTSTR constではないと、 CStringの内容を直接変更できます。

GetBufferによって返されたポインターを使用して文字列の内容を変更する場合は、他のCStringのメンバー関数を使用する前にReleaseBufferを呼び出す必要があります。

CStringの追加の操作に再割り当てするには、 CStringバッファー可能性があるためGetBufferによって返されたアドレスReleaseBufferに呼び出し後に有効なことがあります。CStringの長さを変更する場合、バッファーは割り当てできません。

CStringオブジェクトが破棄されると、バッファーのメモリが自動的に解放されます。

文字列の長さ自分の追跡場合は、終端の null 文字追加する必要がありますいないことに注意してください。ReleaseBufferでバッファーを解放するとただし、最終的な文字列の長さを指定する必要があります。終端の null 文字を追加する場合は、 ReleaseBufferを-1 の長さを渡す必要があります、 ReleaseBufferは、バッファーの長さを決定する、 strlenを行います。

次の例のCString::GetBufferの使用。

//CString::GetBuffer の例CString s ("abcd");#ifdef _DEBUGafxDump lt; <」CString s」<< s <<"\n";#endifLPTSTR p = s.GetBuffer (10);strcpy (p、「こんにちは」);//CString バッファーに直接アクセスs.ReleaseBuffer ();#ifdef _DEBUGafxDump <<「CString s」<< s <<"\n";#endif

CString の概要|nbsp;クラス メンバー |階層図(&N)

参照特価;CString::GetBufferSetLengthCString::ReleaseBuffer(&N)

Index