CSimpleStringT::GetBufferSetLength
Retourne un pointeur dans la mémoire tampon caractères interne de l'objet d' CSimpleStringT , tronquant ou élevant sa longueur si nécessaire pour faire correspondre exactement à la longueur spécifiée dans nLength.
PXSTR GetBufferSetLength(
int nLength
);
Paramètres
- nLength
La taille exacte du tampon de caractères d' CSimpleStringT caractères.
Valeur de retour
Un pointeur d' PXSTR en mémoire tampon de caractères (se terminant par null) de l'objet.
Notes
Appelez cette méthode pour récupérer une longueur spécifiée de la mémoire tampon interne de l'objet d' CSimpleStringT . Le pointeur retourné d' PXSTR n'est pas const et n'autorise pas la modification directe du contenu d' CSimpleStringT .
Si vous utilisez le pointeur retourné par GetBufferSetLength pour modifier le contenu de la chaîne, appelez ReleaseBuffer pour mettre à jour l'état interne d' CsimpleStringTavant d'utiliser toutes les méthodes d' CSimpleStringT .
L'adresse retournée par GetBufferSetLength peut ne pas être valide après l'appel à ReleaseBuffer car des opérations supplémentaires d' CSimpleStringT peuvent provoquer la mémoire tampon d' CSimpleStringT d'être réaffectées. La mémoire tampon n'est pas réassignée si vous ne modifiez pas la longueur d' CSimpleStringT.
La mémoire tampon est automatiquement libérée lorsque l'objet d' CSimpleStringT est détruit.
Si vous maintenez la longueur de chaîne vous-même, n'ajoutez pas le caractère NULL de fin. Vous devez spécifier la longueur finale de chaîne lorsque vous libérez la mémoire tampon à l'aide de ReleaseBuffer. Si vous ajoutez un caractère NULL de fin lorsque vous appelez ReleaseBuffer, exécutez à 1 (la valeur par défaut) pour la longueur à ReleaseBuffer, et ReleaseBufferstrlen exécuteront dans la mémoire tampon pour déterminer sa longueur.
Pour plus d'informations sur le décompte de références, consultez les articles suivants :
Gérer les durées de vie des objets via le décompte de références dans Kit de développement logiciel Windows*.*
implémenter le décompte de références dans Kit de développement logiciel Windows*.*
règles pour gérer des nombres de références dans Kit de développement logiciel Windows*.*
Exemple
L'exemple suivant illustre l'utilisation du mot clé CSimpleStringT::GetBufferSetLength :
CSimpleString str(pMgr);
LPTSTR pstr = str.GetBufferSetLength(3);
pstr[0] = _T('C');
pstr[1] = _T('u');
pstr[2] = _T('p');
// No need for trailing zero or call to ReleaseBuffer()
// because GetBufferSetLength() set it for us.
str += _T(" soccer is best!");
ASSERT(_tcscmp(str, _T("Cup soccer is best!")) == 0);
Configuration requise
en-tête : atlsimpstr.h