¿Cómo crear una cadena de caracteres en C ++

Los elementos de una matriz en C ++ pueden ser de cualquier tipo. Las matrices de flotadors, dobles, y largos son todos posible- sin embargo, las matrices de caracteres tienen un significado especial.

En muchos casos, son posibles todos los valores para cada elemento. Sin embargo, C ++ se reserva el especial " carácter " 0 como el no-carácter. Puedes usar ' 0' para marcar el final de una matriz de caracteres. (El valor numérico de ' 0' es 0, pero el tipo de ' 0' es Char.)

El personaje ' y' es el carácter cuyo valor octal es y. El personaje ' 0' es el personaje con un valor de 0, también conocido como el carácter nulo.

// DisplayString - salida de una matriz de caracteres de // salida estándar, la ventana de MS-DOS # include #include #include using namespace std - // prototipo declarationsvoid DisplayString (char stringarray []) - int main (int nNumberofArgs, char * pszArgs []) {charMyName char [] = {'S', 't', 'e', ​​'p' , 'h', 'e', ​​'n', ' 0'} - DisplayString (charMyName) -cout lt; lt; endl - // espera hasta que el usuario esté listo antes del programa // terminar para permitir al usuario ver el resultscout programa lt; lt; "Pulse Intro para continuar ..." lt; lt; endl-cin.ignore (10, ' n') - cin.get () - retorno 0 -} // DisplayString - mostrar una cadena de caracteres // un carácter a la DisplayString timevoid (char stringarray []) {for (int i = 0- stringarray [i]! = ' 0'- i ++) {cout lt; lt; stringarray [i] -}}

La declaración de charMyName declara el array de caracteres con el carácter nulo adicional ' 0' al final. los DisplayString se encontraron con una iteración del programa a través de la matriz de caracteres hasta un carácter nulo.

La funcion DisplayString () es más sencillo de usar que sus displayCharArray () predecesor porque ya no es necesario pasar a lo largo de la longitud de la matriz de caracteres. Este apretón de manos secreto de poner fin a una matriz de caracteres con una nula es tan conveniente que se utiliza en todo el lenguaje C ++. C ++ incluso da una matriz tal un nombre especial.

LA cadena de caracteres es una matriz de caracteres terminada en nulo. Se conoce oficialmente como cadena de bytes terminada en cero, o Obstáculos no arancelarios. El término más simple C-string También se utiliza para diferenciar de tipo C ++ cuerda.

La elección de ' 0' como el carácter de terminación no fue al azar. Recuerde que 0 es el único valor numérico que se convierte en falsos todos los demás valores se traducen en cierto. Esto significa que el para bucle podría ser (y por lo general se) escrita como

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

Todo este asunto de cadenas de caracteres terminadas en nulo está tan arraigado en la psique C ++ lenguaje C ++ utiliza una cadena de caracteres entre comillas dobles para ser una matriz de caracteres terminada automáticamente con un ' 0' personaje. Las siguientes son declaraciones idénticas:

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

La convención de nomenclatura usada aquí es exactamente eso, una convención. C ++ no le importa. El prefijo sz representa cadena terminada en cero.

La cuerda Stephen es de ocho caracteres y no siete - el carácter nulo después de la n es asumido. La cuerda "" es un carácter de longitud, que consta de sólo el carácter nulo.




» » » » ¿Cómo crear una cadena de caracteres en C ++