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.