Usando CString

Os tópicos desta seção descrevem como programar com CString. Para obter documentação de referência sobre a classe CString, consulte a documentação de CStringT.

Para usar CString, inclua o cabeçalho atlstr.h.

As classes CString, CStringA e CStringW são especializações de um modelo de classe chamado CStringT, com base no tipo de dados de caracteres com suporte.

Um objeto CStringW contém o tipo wchar_t e dá suporte a cadeias de caracteres Unicode. Um objeto CStringA contém o tipo char e dá suporte a cadeias de caracteres de byte único e de vários bytes (MBCS). Um objeto CString dá suporte ao tipo char ou wchar_t, dependendo se o símbolo MBCS ou o símbolo UNICODE é definido no tempo de compilação.

Um objeto CString mantém os dados de caracteres em um objeto CStringData. CString aceita cadeias de caracteres de estilo C terminadas em NULL. CString rastreia o comprimento da cadeia de caracteres para um desempenho mais rápido, mas também retém o caractere NULL nos dados de caractere armazenados para dar suporte à conversão para LPCWSTR. CString inclui a terminação null quando exporta uma cadeia de caracteres do estilo C. Você pode inserir um NULL em outros locais em um CString, mas isso pode produzir resultados inesperados.

O conjunto de classes de cadeias de caracteres a seguir pode ser usado sem vincular uma biblioteca MFC, com ou sem suporte para CRT: CAtlString, CAtlStringA e CAtlStringW.

CString é usado em projetos nativos. Para projetos de código gerenciado (C++/CLI), use System::String.

Para adicionar mais recursos que CString, CStringA ou CStringW oferecem no momento, você deve criar uma subclasse de CStringT que contém os recursos adicionais.

O código a seguir mostra como criar uma CString e imprimi-la na saída padrão:

#include <atlstr.h>

int main() {
    CString aCString = CString(_T("A string"));
    _tprintf(_T("%s"), (LPCTSTR) aCString);
}

Nesta seção

Operações CString básicas
Descreve as operações CString básicas, incluindo a criação de objetos de cadeias de caracteres literais de C, acessando caracteres individuais em uma CString, concatenando dois objetos e comparando objetos CString.

Gerenciamento de dados de cadeia de caracteres
Discute o uso de Unicode e MBCS com CString.

Semântica de CString
Explica como os objetos CString são usados.

Operações de CString relacionadas a cadeias de caracteres de estilo C
Descreve a manipulação do conteúdo de um objeto CString como uma cadeia de caracteres de terminação nula de estilo C.

Alocando e liberando memória para BSTR
Discute o uso de memória para BSTR e objetos COM.

Limpeza de exceção de CString
Explica que a limpeza explícita no MFC 3.0 e versões posteriores não é mais necessária.

Passagem de argumento de CString
Explica como passar objetosCString para funções e como retornar objetos CString de funções.

Suporte a MBCS (conjunto de caracteres multibyte) e Unicode
Discute como o MFC é habilitado para suporte a Unicode e MBCS.

Referência

CStringT
Fornece informações de referência sobre a classe CStringT.

Classe CSimpleStringT
Fornece informações de referência sobre a classe CSimpleStringT.

Cadeias de caracteres (ATL/MFC)
Contem links para tópicos que descrevem várias maneiras de gerenciar dados da cadeia de caracteres.

Cadeias de caracteres (ATL/MFC)