“Conocimiento Programación>C /C + + Programming

Longitud de la secuencia Sin Construido en la función en C + +

2013/6/23
Normalmente , un programador puede recuperar la longitud de una frase (o cadena) en cualquier método de C + + programa llamamientos " length () " de la cadena. Sin embargo , las cadenas ya implementados en C + + no estaban siempre disponibles , y los programadores no tienen acceso a los métodos ya hechas , como la longitud (). Contando la longitud de una cadena sin el uso de este método consiste en construir entendimiento string, matrices de caracteres de tipo c , y cómo iterar sobre ellos. C + + y C Cuerdas Cuerdas

En C + +, la incorporada en el tipo de datos "string " representa oraciones , frases o palabras. Sin embargo , el tipo de datos de cadena representa en realidad lo que los programadores llaman una cadena " de estilo c". En el idioma original C , los programadores almacenan frases como colecciones (o arrays) de caracteres. Así, mientras que en C + +, una declaración de variable frase parece :

string str = " Hola" ;

en C, la misma declaración se ve así:

char str [ 50 ] = " Hola" ;

Donde " str " representa un conjunto de 50 caracteres. Además, como cadenas de lenguaje C son simplemente arrays, todos terminan con un carácter de terminación nulo ("\\ 0 " ), que significa el final de la cadena.
El " c_str () " método

lo interesante de cadenas en C + + es que son una clase, y como clase contiene métodos para hacer el trabajo en la cadena. Uno de estos métodos ( " c_str ()") devuelve una cadena de lenguaje C que representa la cadena de C + + . Esto significa que el valor de retorno va a terminar como una matriz de caracteres que contiene los caracteres de la cadena , incluyendo el carácter de terminación nula.
Copia del C Cadena

para realmente hacer algo con la cadena de lenguaje C recuperado de c_str () , el programador tiene que ponerlo en una matriz de caracteres . Esto requiere que el método de " strcpy " , que copiará una matriz de caracteres a otro :

# include

# include

# include < ; iostream >

using namespace std ;

string str = " Una cadena " ;

caracteres cadena2 [ 50 ] ;

strcpy ( cadena2 , str . c_str ( ))

Ahora, la representación de cadena de tipo C de " str " se copia en la matriz de caracteres " str2 " (incluyendo nula caracteres) .
Contando el personajes

Ahora que el programador tiene una copia matriz de la cadena, incluyendo el carácter nulo que informará al programador cuando termina la cadena , se convierte en un asunto de caracteres simplemente contar hasta que el programa realiza la hipótesis nula carácter :

int i = 0 ;

while (! str2 [ i ] = " \\ 0 ") {

i + +

}

cout << i + 1 ;

el bucle "while" comprueba cada personaje desde el principio ( la posición de carácter 0 ª ) hasta alcanzar el carácter nulo . A continuación , el programa imprime i +1 ( porque el índice comienza en 0 y la posición del carácter nulo no se cuenta ) que se traduce en un valor de retorno de 8 .

C /C + + Programming
Cómo cambiar el cursor en C + +
Cómo diseñar un programa escrito en C + + para calcular los sueldos de trabajadores
Cómo utilizar GDB Con Eclipse
¿Qué aparece cuando un programa necesita alguna información suya antes de que pueda completar el comando?
Cómo comprobar el correo electrónico POP3 con C + + con MFC
Cómo convertir el valor de texto para Int. C + +
Cómo utilizar una memoria cíclica
Cómo acceder a una estructura C de Fortran
Conocimiento de la computadora © http://www.ordenador.online