LPTSTR Fonctions membres GetBuffer ( int nMinBufLength );
jeter ( CMemoryException );
Valeur de retour
Un pointeur LPTSTR au tampon de l'objet personnage (par un NULL).
Paramètres
nMinBufLength
La taille minimale de la mémoire tampon de caractères en caractères. Cette valeur n'inclut pas l'espace pour un terminateur null.
Remarques
Retourne un pointeur vers la mémoire tampon de caractères interne de l'objet CString . Le retourné LPTSTR n'est pas const et permet ainsi une modification directe des matières CString.
Si vous utilisez le pointeur retourné par les fonctions membres GetBuffer pour modifier le contenu de la chaîne, vous devez appeler ReleaseBuffer avant d'utiliser les autres fonctions de membre de CString.
L'adresse retournée par les fonctions membres GetBuffer peut-être pas valide après l'appel à ReleaseBuffer puisque des opérations supplémentaires de CString peuvent provoquer le tampon CString à être réaffecté. La mémoire tampon n'est pas réalloué si vous ne modifiez pas la longueur de CString.
La mémoire tampon est libérée automatiquement lorsque l'objet CString est détruit.
Notez que si vous garder une trace de la longueur de chaîne vous-même, vous ne devez pas ajouter le caractère null de fin. Vous devez, toutefois, spécifier la longueur de la chaîne finale lorsque vous libérer de la mémoire tampon avec ReleaseBuffer. Si vous n'ajoutez pas un caractère null de fin, vous devez passer – 1 pour la longueur de ReleaseBuffer et ReleaseBuffer se produira un strlen dans la mémoire tampon afin de déterminer sa longueur.
Exemple
L'exemple suivant illustre l'utilisation de CString::GetBuffer.
/ / exemple pour CString::GetBuffer
CString s (« abcd ») ;
# ifdef _DEBUG
afxDump lt ; < « CString s » << s << « \n » ;
# endif
LPTSTR p = s.GetBuffer (10) ;
strcpy (p), « Hello ») ; / / accéder directement aux tampons de CString
s.ReleaseBuffer () ;
# ifdef _DEBUG
afxDump << « CString s » << s << « \n » ;
# endif
Aperçu de CString |nbsp ; Membres de la classe | Graphique de la hiérarchie
Voir aussi  ;CString::GetBufferSetLength, CString::ReleaseBuffer