Como abrir espaço para amplas cadeias de caracteres em c ++
programador do C ++ é muitas vezes necessária para manipular cadeias de caracteres largos. A biblioteca padrão C ++ inclui funções para lidar com cadeias de caracteres largos. Algumas dessas funções estão listadas nesta tabela.
Conteúdo
Nome | Operação |
---|---|
int wcslen (string) | Retorna o número de caracteres largos em uma corda, não incluindo o nulo de terminação. |
wchar_t * wcscpy (alvo, fonte) | Cópias do grande cadeia de origem para uma matriz de destino. |
wchar_t * wcscat (alvo, fonte) | Encadeia a cadeia vasta fonte na extremidade do alvo ampla string. |
wchar_t * wcsncpy (alvo, fonte, n) | Cópias uma grande corda até n caracteres da cadeia de origem para uma matriz de destino. |
wchar_t * wcsncat (alvo, fonte, n) | Encadeia a cadeia de origem na extremidade do alvo string ou n caracteres, o que ocorrer primeiro. |
wchar_t * wcsstr (string, padrão) | Encontra o endereço da primeira ocorrência do padrão na string. Retorna um valor nulo se o padrão não foi encontrado. |
int wcscmp (source1, source2) | Compara duas seqüências de largura. Retorna -1 se source1 ocorre antes source2 no dicionário e 1 se mais tarde. Retorna 0 se as duas cordas corresponder exatamente. |
int wcsncmp (source1, source2, n) | Compara o primeiro n caracteres largos em duas cordas de largura. |
Lembre-se que caracteres largos são usados para aplicações que devem suportar línguas estrangeiras, onde míseros 255 caracteres diferentes podem não ser o suficiente.
Video: Processamento de Cadeia de Caracteres
A seguir mostra uma versão de caracteres largos da Concatenar programa:
// ConcatenateWide - concatenar duas cadeias de largura // com um " - " no meio usando rotinas de biblioteca # include#incluir #incluir using namespace std-int main (int nNumberofArgs, char * pszArgs []) {// leia primeira corda ... wchar_t wszString1 [260] -cout lt; lt; "Digite string # 1:"-wcin.getline (wszString1, 128) - // ... agora a segunda corda ... wchar_t wszString2 [128] -cout lt; lt; "Digite seqüência # 2:"-wcin.getline (wszString2, 128) - // agora aderência do segundo para o final do primeiro // com um traço no betweenwcsncat (wszString1, L" - ", 260) -wcsncat (wszString1, wszString2, 260) -wcout lt; lt; eu"n" lt; lt; wszString1 lt; lt; endl - // espera até que o usuário está pronto antes de terminar o programa // para permitir que o usuário veja o resultscout programa lt; lt; "Pressione Enter para continuar ..." lt; lt; endl-cin.ignore (10, `n`) - cin.get () - 0-} retornar
O amplo programa de cadeia de caracteres é semelhante ao seu de byte único primo cadeia de caracteres, exceto para as seguintes diferenças:
Variáveis são declaradas wchar_t ao invés de Caracteres.
caracteres constantes e strings constantes ser precedida de uma EU, como em L “Esta é uma grande cadeia”.
Video: Curso de C++ - Aula 16 - Vetores de caracteres strings
os objetos wcin e wcout são usadas no lugar de cin e cout para entrada e saída.
Video: aula23 - Strings ou cadeias de caracteres
o wcs ... funções aparecer no lugar da estreita str ... funções.
A saída a partir de ConcatenateWide parece ser idêntica à do Caracteres-Sediada Concatenar programa para aqueles que fazem a maior parte de sua entrada / saída em línguas europeias. O tópico de escrever programas capazes de lidar com vários idiomas com alfabetos diferentes e regras de gramática é conhecido como localização.
ANSI C ++ inclui um tipo corda projetado para tornar mais fácil para manipular cadeias de texto.