Partager via


CStrBufT, classe

Cette classe fournit le nettoyage automatique des ressources pour GetBuffer et ReleaseBuffer appelle un objet existant CStringT .

Syntaxe

template<typename TCharType>
class CStrBufT

Paramètres

TCharType
Type de caractère de la CStrBufT classe. Il peut s'agir d'une des méthodes suivantes :

  • char (pour les chaînes de caractères ANSI)

  • wchar_t (pour les chaînes de caractères Unicode)

  • TCHAR (pour les chaînes de caractères ANSI et Unicode)

Membres

Typedefs publics

Nom Description
PCXSTR Pointeur vers une chaîne constante.
PXSTR Pointeur vers une chaîne.
StringType Type de chaîne dont la mémoire tampon doit être manipulée par spécialisations de ce modèle de classe.

Constructeurs publics

Nom Description
CStrBufT ::CStrBufT Constructeur de l’objet de mémoire tampon de chaîne.

Méthodes publiques

Nom Description
CStrBufT ::SetLength Définit la longueur de la mémoire tampon de caractères de l’objet de chaîne associé.

Opérateurs publics

Nom Description
CStrBufT ::operator PCXSTR Récupère un const pointeur vers la mémoire tampon de caractères de l’objet chaîne associé.
CStrBufT ::operator PXSTR Récupère un pointeur vers la mémoire tampon de caractères de l’objet chaîne associé.

Constantes publiques

Nom Description
CStrBufT ::AUTO_LENGTH Déterminez automatiquement la nouvelle longueur de la chaîne lors de la mise en production.
CStrBufT ::SET_LENGTH Définir la longueur de l’objet de chaîne au moment de GetBuffer

Notes

Cette classe est utilisée comme classe wrapper pour remplacer les appels à GetBuffer et ReleaseBuffer, ou GetBufferSetLength et .ReleaseBuffer

Principalement conçu en tant que classe d’assistance, CStrBufT fournit un moyen pratique pour un développeur d’utiliser la mémoire tampon de caractères d’un objet de chaîne sans vous soucier de la façon ou du moment d’appeler ReleaseBuffer. Cela est possible, car l’objet wrapper sort naturellement de l’étendue en cas d’exception ou de plusieurs chemins de code sortants ; l’origine de son destructeur pour libérer la ressource de chaîne.

Spécifications

En-tête : atlsimpstr.h

CStrBufT ::AUTO_LENGTH

Déterminez automatiquement la nouvelle longueur de la chaîne lors de la mise en production.

static const DWORD AUTO_LENGTH = 0x01;

Notes

Déterminez automatiquement la nouvelle longueur de la chaîne lors de la mise en production. La chaîne doit être terminée par null.

CStrBufT ::CStrBufT

Construit un objet de mémoire tampon.

CStrBufT(StringType& str, int nMinLength, DWORD dwFlags = AUTO_LENGTH) throw(...);
explicit CStrBufT(StringType& str) throw(...);

Paramètres

str
Objet de chaîne associé à la mémoire tampon. En règle générale, le développeur utilise les typesdefs prédéfinis de CStrBuf (variante TCHAR), CStrBufA (char variant) et CStrBufW (wchar_t variant).

nMinLength
Longueur minimale de la mémoire tampon de caractères.

dwFlags
Détermine si la longueur de la chaîne est automatiquement déterminée. Il peut s'agir d'une des méthodes suivantes :

  • AUTO_LENGTH longueur de chaîne est déterminée automatiquement lorsque CSimpleStringT ::Release est appelé. La chaîne doit être terminée par null. Valeur par défaut.

  • SET_LENGTH longueur de chaîne est définie lorsque CSimpleStringT ::GetBuffer est appelé.

Notes

Crée une mémoire tampon de chaîne pour l’objet chaîne associé. Pendant la construction, CSimpleStringT ::GetBuffer ou CSimpleStringT ::GetBufferSetLength est appelé.

Notez que le constructeur de copie est private.

CStrBufT ::operator PCXSTR

Accède directement aux caractères stockés dans l’objet de chaîne associé en tant que chaîne de style C.

operator PCXSTR() const throw();

Valeur de retour

Pointeur de caractères vers les données de la chaîne.

Notes

Appelez cette fonction pour renvoyer un pointeur vers la mémoire tampon de caractères d’un objet chaîne. Le contenu de l’objet chaîne ne peut pas être modifié avec ce pointeur.

CStrBufT ::operator PXSTR

Accède directement aux caractères stockés dans l’objet de chaîne associé en tant que chaîne de style C.

operator PXSTR() throw();

Valeur de retour

Pointeur de caractères vers les données de la chaîne.

Notes

Appelez cette fonction pour renvoyer un pointeur vers la mémoire tampon de caractères d’un objet chaîne. Le développeur peut modifier le contenu de l’objet de chaîne avec ce pointeur.

CStrBufT ::P CXSTR

Pointeur vers une chaîne constante.

typedef CSimpleStringT<TCharType>::PCXSTR PCXSTR;

CStrBufT ::P XSTR

Pointeur vers une chaîne.

typedef CSimpleStringT<TCharType>::PXSTR PXSTR;

CStrBufT ::SET_LENGTH

Définissez la longueur de l’objet de chaîne au GetBuffer moment.

static const DWORD SET_LENGTH = 0x02;

Notes

Définissez la longueur de l’objet de chaîne au moment de GetBuffer.

Détermine si CSimpleStringT ::GetBuffer et CSimpleStringT ::GetBufferSetLength sont appelés lorsque l’objet de mémoire tampon de chaîne est construit.

CStrBufT ::SetLength

Définit la longueur de la mémoire tampon de caractères.

void SetLength(int nLength);

Paramètres

nLength
Nouvelle longueur de la mémoire tampon de caractères de l’objet de chaîne.

Remarque

Doit être inférieur ou égal à la longueur minimale de la mémoire tampon spécifiée dans le constructeur de CStrBufT.

Notes

Appelez cette fonction pour définir la longueur de la chaîne représentée par l’objet tampon.

CStrBufT ::StringType

Type de chaîne dont la mémoire tampon doit être manipulée par spécialisations de ce modèle de classe.

typedef CSimpleStringT<TCharType> StringType;

Notes

TCharType est le type de caractère utilisé pour spécialiser le modèle de classe.

Voir aussi

Graphique hiérarchique
Classes partagées ATL/MFC