Operações básicas de CString
Este artigo explica básico CString operações, inclusive:
Criando objetos CString do padrão seqüências de caracteres literal C
Acessando caracteres individuais em um CString
Concatenar dois objetos CString
Comparação de objetos CString
The CString classe fornece funções de membro e operadores sobrecarregados que duplicar e, em alguns casos, superam os serviços de seqüência de caracteres de bibliotecas de time de execução C (por exemplo, strcat_s).
Criando objetos CString do Standard C cadeias de caracteres literal
Você pode atribuir seqüências de caracteres literal estilo C a um CString sistema autônomo você pode atribuir um CString objeto para outro:
Atribuir o valor de uma seqüência de caracteres literal C para um CString objeto:
CString myString = _T("This is a test");
Atribuir o valor de um CString para outro CString objeto:
CString oldString = _T("This is a test"); CString newString = oldString;
O Sumário de um CString objeto são copiados quando um CString será atribuído para outro. Assim, as duas seqüências de caracteres não compartilham uma referência para os caracteres real que compõem a seqüência de caracteres.Para obter mais informações sobre sistema autônomo usar CString objetos sistema autônomo valores, consulte o artigo Semântica CString.
Observação: Para escrever seu aplicativo para que ele pode ser compilado para Unicode ou ANSI, o código usando a macro _T de seqüências de caracteres literal.Para obter mais informações, consulte o artigo Unicode e caractere multibyte (MBCS) suporte conjunto.
Acessando caracteres individuais em um CString
Você pode acessar caracteres individuais dentro de um CString objeto com o GetAt e SetAt funções de membro. You can also use the array element, or subscript, operator ( [ ] ) instead of GetAt to get individual characters (this is similar to accessing array elements by index, as in standard C-style strings).Valores de índice para CString os caracteres são baseado em zero.
Concatenar dois objetos CString
Para concatenar duas CString objetos, usar o (operadores de concatenação**+** or +=) da seguinte maneira:
CString s1 = _T("This "); // Cascading concatenation
s1 += _T("is a ");
CString s2 = _T("test");
CString message = s1 + _T("big ") + s2;
// Message contains "This is a big test".
Pelo menos um argumento para sistema autônomo operadores de concatenação (+ or +=) deve ser um CString objeto, mas você pode usar uma seqüência de caractere constante (sistema autônomo "big") ou um char (por exemplo, 'x') para o Outros argumento.
Comparando CString objetos
The Compare função de membro e o == operador para CString são equivalentes. Compare, operator==, e CompareNoCase reconhecem MBCS e Unicode; CompareNoCase também não faz distinção entre maiúsculas e minúsculas. The Agrupar função de membro de CString é a localidade confidencial e geralmente é mais lenta do que Compare. Agrupar deve ser usado apenas quando for necessário seguir sistema autônomo regras de classificação conforme especificado pela localidade corrente.
A tabela a seguir mostra o disponívelCString comparação de funções e suas funções equivalentes no Unicode, MBCS-portáteis na biblioteca de time de execução C:
Função CString |
Função MBCS |
Função de Unicode |
---|---|---|
Compare |
_mbscmp |
wcscmp |
CompareNoCase |
_mbsicmp |
_wcsicmp |
Agrupar |
_mbscoll |
wcscoll |
The CString classe substitui o (operadores relacionais**<**, <=, >=, >, ==, e !=). Você pode comparar duas CStrings usando esses operadores, sistema autônomo mostrado aqui:
CString s1(_T("Tom"));
CString s2(_T("Jerry"));
ASSERT(s2 < s1);