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