CString::GetBuffer

lptstr GetBuffer ( int nMinBufLength );
atmak ( CMemoryException );

Dönüş değeri

Bir nesnenin (boş sonlandırılmış) karakter arabelleği lptstr işaretçisine.

Parametreleri

nMinBufLength

Karakter karakter arabellekte en az boyutu. Bu değer için boş bir Sonlandırıcı alanı içermez.

Açıklamalar

Dahili karakter arabelleğine CString nesnesi için bir işaretçi döndürür. Döndürülen lptstr sabit değildir ve böylece CString içeriği doğrudan değiştirilmesini sağlar.

İşaretçiyi GetBuffer tarafından döndürülen dize içeriği değiştirmek için kullanırsanız, diğer bir CString üye işlevleri kullanmadan önce ReleaseBuffer çağırmalısınız.

Ek CString işlemleri CString arabelleği ayrılırken neden olabilir çünkü GetBuffer tarafından döndürülen adres ReleaseBuffer çağrısının geçerli olmayabilir. Arabellek uzunluğu CString değiştirmezseniz ayrılırken değil.

CString nesne yok olduğunda tampon bellek otomatik olarak serbest.

Not dize uzunluğu kendiniz takip eğer sen Sonlandırıcı boş karakter ekleme değil ki. Ancak ReleaseBufferile tampon bıraktığınızda son dize uzunluğunu belirtmelisiniz. Sonlandırıcı boş karakter ekleme, ReleaseBuffer için –1 uzunluğu için geçmesi ve ReleaseBuffer -ecek yapmak a strlen uzunluğunu belirlemek için arabellek.

Örnek

Aşağıdaki örnek, CString::GetBuffer kullanımını gösterir.

/ / CString::GetBuffer Örneğin
CString s ("abcd");
#ifdef _debug
afxDump lt; < "CString s" << s << "\n";
endif
lptstr p = s.GetBuffer (10);
strcpy (p, "Merhaba");   / / CString arabelleği doğrudan erişim
s.ReleaseBuffer ();
#ifdef _debug
afxDump << "CString s" << s << "\n";
endif

CString genel bakış |nbsp; Sınıf üyeleri | Hiyerarşi çizelgesi

Ayrıca bkz: CString::GetBufferSetLength, CString::ReleaseBuffer

Index