Como criar uma cadeia de caracteres em C ++

Os elementos de uma matriz em C ++ pode ser de qualquer tipo. matrizes de flutuadors, duploareia longos são todos possível- no entanto, matrizes de caracteres têm um significado especial.

Em muitos casos, todos os valores para cada elemento são possíveis. No entanto, C ++ reserva-se o especial # 147 caracteres # 148- 0 como o não-caráter. Você pode usar ' 0' para marcar o fim de uma matriz de caracteres. (O valor numérico ' 0' é 0, mas o tipo de ' 0' é carbonizar.)

O personagem ' Y' é o personagem cujo valor octal é y. O personagem ' 0' é a personagem com um valor de 0, também conhecido como o caractere nulo.

// DisplayString - saída de uma matriz de caracteres para // saída padrão, a janela MS-DOS # incluem #incluir #incluir usando namespace std - // protótipo declarationsvoid DisplayString (char stringArray []) - int main (int nNumberofArgs, char * pszArgs []) {char charMyName [] = { 'S', 't', 'e', ​​'p' , 'h', 'e', ​​'n', ' 0'} - DisplayString (charMyName) -cout 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 () - return 0 -} // DisplayString - exibir uma cadeia de caracteres // um carácter de cada DisplayString timevoid (char stringArray []) {for (int i = 0- stringArray [i]! = ' 0'- i ++) {cout lt; lt; stringArray [i] -}}

A declaração de charMyName declara o array de caracteres com o carácter adicional nula ' 0' no fim. o DisplayString programa percorre o array de caracteres até que um caractere nulo é encontrado.

A função DisplayString () é mais simples de usar do que seus displayCharArray () predecessor, porque já não é necessário passar ao longo do comprimento da matriz de caracteres. Este aperto de mão secreto de terminar uma matriz de caracteres com um nulo é muito conveniente que ele é usado em toda a linguagem C ++. C ++ ainda dá uma matriz tal um nome especial.

UMA cadeia de caracteres é uma matriz de caracteres terminada em nulo. É conhecido oficialmente como byte string terminada em nulo, ou NTBS. O termo mais simples C-string também é utilizado para diferenciar de tipo C ++ corda.

A escolha de ' 0' como o caractere de finalização não foi aleatória. Lembre-se que 0 é o único valor numérico que se converte em falso- todos os outros valores traduzem-se verdade. Isto significa que o para ciclo poderia ser (e geralmente é) escrito como

for (int i = 0- stringArray [i] - i ++)

todo esse negócio de cadeias de caracteres de terminação nula é tão arraigada na psique C ++ linguagem que C ++ usa uma cadeia de caracteres entre aspas duplas para ser uma matriz de caracteres terminada automaticamente com um ' 0' personagem. A seguir, são declarações idênticas:

Char szMyName [] = "Stephen" -char szAlsoMyName [] = { 'S', 't', 'e', ​​'p', 'h', 'e', ​​'n', ' 0'} -

A convenção de nomenclatura usada aqui é exatamente isso, uma convenção. C ++ não importa. o prefixo sz apoia seqüência terminada em zero.

A corda Stephen é de oito caracteres e não sete - o caractere nulo após a n é assumido. A corda "" é um caractere, que consiste apenas no carácter nulo.

menu