Come manipolare le stringhe in MFC

December 14

La Biblioteca STL del C ++ puro ha la classe "stringa". Il Microsoft Foundation Class (MFC) biblioteca ha una propria salvezza: la classe CString. CString di MFC fornisce tutte le caratteristiche che un programmatore ha bisogno di gestire e manipolare una stringa. Anche se non è un trattato esaustivo sulla classe, questo articolo illustra le sue caratteristiche utilizzate più di frequente in modo che entro la fine si può essere installato e funzionante.

istruzione

1 Inizializzare un oggetto CString. CString ha molti costruttori. È possibile creare un'istanza di un oggetto CString con char, char *, TCHAR o senza parametri. Supporta l'operatore "=", in modo da poter assegnare gli oggetti vuoti un valore.


esempio:

CString s1, s2 ( "Ciao");

s1 = s2; // S1 ha il valore di "Ciao"

2 Ottenere la lunghezza di un oggetto CString. La funzione "GetLength ()" restituisce un intero senza segno che è la lunghezza della stringa.

3 Concatenare un oggetto CString con un altro. Il modo più semplice per aggiungere due stringhe è attraverso l'operatore "+".


esempio:

CString s1 ( "nome"), s2 ( "cognome");

s1 = S1 + S2;

4 Fare paragoni con CString. È possibile utilizzare il "CompareNoCase ()" funzione per fare i confronti case-insensitive; l'operatore "==" supporta i confronti case-sensitive.


esempio:

CString s ( "Vediamo se sono uguali");

Se ( "Vediamo se sono uguali" == s) {

MessageBox ( "Case sensitive");

}

// O

se ( "vediamo se sono uguali" == s) {

MessageBox ( "Case insensitive");

}

5 Cercare una stringa all'interno di un oggetto MFC CString. È possibile farlo sovraccaricando la funzione "Find ()" per accettare le stringhe e caratteri singoli. La ricerca avviene da sinistra a destra e restituisce la posizione della stringa.


CString s ( "Le funzionalità di ricerca di CString");
int pos = s.Find ( 's');
int pos2 = s.Find ( "di");

6 Formattare i dati. "Format ()" funziona in modo simile alla funzione printf C.


CString s;

int num = 80;

char arr [] = "Numero:";

s.Format (( "% s% d", arr, num);

Consigli e avvertenze

  • CString non ha una classe base, in modo da creare un oggetto CString ha in testa luce.
  • CString si basa sul tipo di dati lungo TCHAR 2 byte, in modo che supporta automaticamente Unicode.
  • La maggior parte delle funzioni CString diventano chiare con l'uso.