CStringT Class
Questa classe rappresenta un oggetto CStringT.
template< typename BaseType, class StringTraits >
class CStringT :
public CSimpleStringT< BaseType, _CSTRING_IMPL_::_MFCDLLTraitsCheck< BaseType, StringTraits > ::c_bIsMFCDLLTraits>
Parametri
BaseType
Il tipo di carattere della classe string. ad esempio uno dei seguenti:char (per le stringhe di caratteri ANSI).
wchar_t (per le stringhe di caratteri Unicode).
TCHAR (sia per ANSI che le stringhe di caratteri Unicode).
StringTraits
Determina se la classe stringa richiede il supporto di librerie (CRT) di runtime del linguaggio C e dove le risorse di tipo stringa vengono individuate. ad esempio uno dei seguenti:Wchar_t di strtraitatl< | char | TCHAR, wchar_t di chtraitscrt< | char | TCHAR > >
La classe richiede il supporto CRT e cercare le stringhe di risorse nel modulo specificato da m_hInstResource (un membro della classe del form dell'applicazione).
Wchar_t di strtraitatl< | char | TCHAR, wchar_t di chtraitsos< | char | TCHAR > >
La classe non richiede il supporto CRT e non nelle stringhe di risorse nel modulo specificato da m_hInstResource (un membro della classe del form dell'applicazione).
Wchar_t di strtraitmfc< | char | TCHAR, wchar_t di chtraitscrt< | char | TCHAR > >
La classe richiede il supporto CRT e cercare le stringhe di risorsa utilizzando l'algoritmo di ricerca MFC standard.
Wchar_t di strtraitmfc< | char | TCHAR, wchar_t di chtraitsos< | char | TCHAR > >
La classe non richiede il supporto CRT e non nelle stringhe di risorsa utilizzando l'algoritmo di ricerca MFC standard.
Membri
Costruttori pubblici
Nome |
Descrizione |
---|---|
Costruisce un oggetto CStringT in diversi modi. |
|
Elimina un oggetto CStringT. |
Metodi pubblici
Nome |
Descrizione |
---|---|
Alloca BSTR i dati CStringT. |
|
Effettua una conversione sul posto dal set di caratteri ANSI il set di caratteri OEM. |
|
Appends formattata dati a un oggetto esistente CStringT. |
|
Confronta due stringhe (fatta distinzione tra maiuscole e minuscole, informazioni specifiche delle impostazioni locali di utilizzare). |
|
Confronta due stringhe (senza distinzione tra maiuscole e minuscole, informazioni specifiche delle impostazioni locali di utilizzare). |
|
Confronta due stringhe (fatta distinzione tra maiuscole e minuscole). |
|
Confronta due stringhe (senza distinzione tra maiuscole e minuscole). |
|
Elimina un carattere o i caratteri da una stringa. |
|
Trova un carattere o una sottostringa in una stringa più grande. |
|
Trova il primo carattere corrispondente da un insieme. |
|
Formatta la stringa come sprintf scegliere. |
|
Formatta una stringa di messaggio. |
|
Formatta una stringa di messaggio utilizzando un elenco di argomenti variabile. |
|
Formatta la stringa utilizzando un elenco variabile di argomenti. |
|
Imposta la stringa a valore della variabile di ambiente specificata. |
|
Inserisce un singolo carattere o una sottostringa all'indice specificato nella stringa. |
|
Estrae la parte sinistra di una stringa. |
|
Carica un oggetto esistente CStringT da una risorsa di Windows. |
|
Converte tutti i caratteri nella stringa in caratteri minuscoli. |
|
Inverte la stringa. |
|
Converte tutti i caratteri nella stringa in caratteri maiuscoli. |
|
Estrae la parte centrale di una stringa. |
|
Effettua una conversione sul posto il set di caratteri OEM il set di caratteri ANSI. |
|
Consente di rimuovere leggere i caratteri da una stringa. |
|
Replaces di leggere i caratteri con altri caratteri. |
|
Trova un carattere in una stringa più grande, parte dalla fine. |
|
Estrae la parte destra di una stringa. |
|
Imposta un oggetto esistente BSTR con i dati di un oggetto CStringT. |
|
Estrae i caratteri della stringa, a partire dal primo carattere, non presenti nel set di caratteri identificati da pszCharSet. |
|
Estrae una sottostringa contenente solo i caratteri in un gruppo. |
|
Token specificati estratti in una stringa di destinazione. |
|
Elimina tutti gli spazi vuoti iniziali e finali dalla stringa. |
|
Impostare il testo che guidano gli spazi vuoti dalla stringa. |
|
Impostare il testo del trascinamento degli spazi vuoti dalla stringa. |
Operatori
Assegna un valore a un oggetto CStringT. |
|
Concatena due stringhe o un carattere e una stringa. |
|
Concatena una nuova stringa alla fine di una stringa esistente. |
|
Determina se due stringhe sono logicamente uguali. |
|
Determina se due stringhe non logicamente sono uguali. |
|
Determina se la stringa a sinistra dell'operatore è minore della stringa dalla destra. |
|
Determina se la stringa a sinistra dell'operatore è maggiore della stringa dalla destra. |
|
Determina se la stringa a sinistra dell'operatore è minore o uguale alla stringa dalla destra. |
|
Determina se la stringa a sinistra dell'operatore è maggiore o uguale alla stringa dalla destra. |
Note
CStringT eredita da classe di CSimpleStringT. Le funzionalità avanzate, ad esempio la modifica di carattere, ordinamento e ricerca, implementati da CStringT.
Nota
Gli oggetti diCStringT sono in grado di generare eccezioni.Ciò si verifica quando un oggetto CStringT utilizza la memoria per il motivo.
Un oggetto CStringT è costituito da una sequenza di lunghezza variabile di caratteri. CStringT fornisce funzioni e operatori utilizzando una sintassi simile a quella di base. La concatenazione e gli operatori di confronto, insieme a gestione della memoria semplificata, producono gli oggetti CStringT più facili da utilizzare e matrici di caratteri normali.
Nota
Sebbene sia possibile creare istanze CStringT contenenti caratteri Null incorporati, è pronunciamo rispetto a.Chiamare metodi degli operatori per gli oggetti CStringT contenenti caratteri Null incorporati possono produrre risultati imprevisti.
Tramite combinazioni diverse dei parametri StringTraits e BaseType, gli oggetti CStringT possono disporre dei seguenti tipi, ovvero sono stati predefiniti dalle librerie ATL.
Se utilizzato in un'applicazione ATL:
CString, CStringAe CStringW vengono esportate dalla DLL MFC (MFC90.DLL), mai da DLL dell'utente. Questa operazione viene eseguita per impedire CStringT sia di moltiplicare definito.
Nota
Se incontraste gli errori del linker quando si esporta CStringclasse derivata da una DLL di estensione MFC in Visual C++ .NET 2002 ed è applicato la soluzione alternativa descritta nell'articolo della Knowledge Base, "collegando gli errori quando si importa le classi Derivate CString-" (Q309801), è necessario rimuovere il codice della soluzione alternativa, poiché questo è stato corretto in Visual C++ .NET 2003.disponibile nel CD della MSDN Library o all'indirizzo https://support.microsoft.com/default.aspx.
I seguenti tipi di stringa sono disponibili nelle applicazioni basate su MFC:
Tipo di CStringT |
Dichiarazione |
---|---|
CStringA |
Una stringa di caratteri ANSI con supporto CRT. |
CStringW |
Una stringa di caratteri unicode con supporto CRT. |
CString |
Sia i tipi di carattere unicode in formato ANSI con supporto CRT. |
I seguenti tipi di stringa sono disponibili nei progetti ATL_CSTRING_NO_CRT in cui viene definito:
Tipo di CStringT |
Dichiarazione |
---|---|
CAtlStringA |
Una stringa di caratteri ANSI senza supporto CRT. |
CAtlStringW |
Una stringa di caratteri unicode senza supporto CRT. |
CAtlString |
Sia i tipi di carattere unicode in formato ANSI senza supporto CRT. |
I seguenti tipi di stringa sono disponibili nei progetti in cui ATL_CSTRING_NO_CRT non è definito:
Tipo di CStringT |
Dichiarazione |
---|---|
CAtlStringA |
Una stringa di caratteri ANSI con supporto CRT. |
CAtlStringW |
Una stringa di caratteri unicode con supporto CRT. |
CAtlString |
Sia i tipi di carattere unicode in formato ANSI con supporto CRT. |
Gli oggetti diCString hanno le seguenti caratteristiche:
Gli oggetti diCStringT possono determinare come risultato delle operazioni di concatenazione.
Gli oggetti diCStringT seguono "semantica di valore". Considerare un oggetto CStringT come una stringa, non come puntatore a una stringa.
È possibile sostituire agli oggetti CStringT per gli argomenti della funzione PCXSTR.
Gestione della memoria personalizzato per i buffer di stringa. Per ulteriori informazioni, vedere Gestione della memoria e CStringT.
CStringT ha predefinito i tipi
Poiché CStringT utilizza un argomento di template per definire il tipo di carattere ( wchar_t o char) supportato, tipi di parametro del metodo può essere complicato talvolta. Per semplificare questo problema, un set di tipi predefiniti è definito e utilizzato nella classe CStringT. Nella tabella seguente sono elencati i diversi tipi:
Nome |
Descrizione |
---|---|
XCHAR |
Un singolo carattere ( wchar_t o char) con lo stesso tipo di carattere dell'oggetto CStringT. |
YCHAR |
Un singolo carattere ( wchar_t o char) al tipo di carattere opposto come oggetto CStringT. |
PXSTR |
Un puntatore a una stringa di caratteri ( wchar_t o char) con lo stesso tipo di carattere dell'oggetto CStringT. |
PYSTR |
Un puntatore a una stringa di caratteri ( wchar_t o char) al tipo di carattere opposto come oggetto CStringT. |
PCXSTR |
Un puntatore a una stringa di caratteri const ( wchar_t o char) con lo stesso tipo di carattere dell'oggetto CStringT. |
PCYSTR |
Un puntatore a una stringa di caratteri const ( wchar_t o char) al tipo di carattere opposto come oggetto CStringT. |
Nota
Il codice che i metodi non documentati in precedenza utilizzati CString (come AssignCopy) devono essere sostituiti dal codice che utilizza i seguenti metodi illustrati CStringT (come GetBuffer o ReleaseBuffer).Questi metodi vengono ereditati da CSimpleStringT.
Gerarchia di ereditarietà
CStringT
Requisiti
Header |
Da utilizzare per |
---|---|
cstringt.h |
Oggetti stringa solo MFC |
atlstr.h |
Oggetti stringa Non MFC |