Username:
Password:
C++ (Español) Tutorials

El tipo de Dato 'string'; Ecuaciones / Datos de Carácter vs Cadenas

Subtitles of the Movie

ÿþ [00:00:00.0] Como ya lo hemos discutido en capítulos anteriores, C++ tiene varios tipos de datos para números tales como enteros 'short', 'long' y decimales de tipo 'float', [00:00:10.0] para el almacenamiento de números, y un tipo de datos de carácter, 'char', para almacenar sólamente un carácter. [00:00:15.0] Sin embargo, a diferencia de muchos otros lenguajes, C no tiene un tipo de datos específico para almacenar más de un carácter de datos. [00:00:22.0] En otras palabras, un tipo de dato para almacenar cosas como el nombre de una persona o su dirección. [00:00:27.0] Aunque el tipo de dato de cadenas de caracteres, 'string', no está incorporado en el lenguaje C, ciertamente usted puede implementarlo haciendo uso del tipo de dato 'char'. [00:00:37.0] Notará usted que la sintaxis para declarar una variable de cadena es casi idéntica a la que se usa para declarar una variable de carácter. [00:00:44.0] Recuerde que usted declara e inicializa una variable de carácter usando la expresion 'char', [00:00:50.0] que precisamente también es la que se usa para declarar una cadena. [00:00:56.0] La diferencia es el uso de los paréntesis cuadrados para indicar el tamaño de la variable. [00:01:03.0] El número entre los paréntesis cuadrados es uno más [00:01:07.0] que el número máximo de caracteres que usted quiere almacenar en la variable. [00:01:11.0] Por ejemplo, para almacenar 11 caracteres en una variable de cadena, el valor entre los paréntesis cuadrados debe ser 12. [00:01:18.0] que almacenará 11 caracteres más el caracter NULL que C adiciona automáticamente al final de la cadena. [00:01:28.0] El número en los paréntesis cuadrados en realidad le indica a C cuantas locaciones de memoria de 1 byte debe preservar para cada uso de la cadena - [00:01:37.0] más el carácter NULL. [00:01:40.0] A diferencia de las variables de un carácter, que usualmente se inicializan a un solo espacio en blanco encerrado en comillas sencillas, [00:01:47.0] las variables de cadena se inicializan a una cadena de longitud cero. [00:01:51.0] Una cadena de longitud cero es simplemente un par de comillas dobles sin ningún espacio entre ellas, iguales a las que usted ve en pantalla en este momento. [00:02:00.0] Compilaré este programa para ver el efecto. [00:02:04.0] Como puede ver, compila sin ningún problema y por eso podemos ejecutarlo. [00:02:10.0] Si escribo el nombre de una persona, por ejemplo John, y presiono la tecla enter, usted puede ver que el programa responde exactamente como usted esperaba. [00:02:20.0] Lo que el programa hace es sencillo: acepta datos del teclado después de un aviso y después muestra el resultado [00:02:27.0] mediante una expresión 'cout'. [00:02:29.0] El programa puede aceptar más de un carácter, pues hemos declarado ese número adentro de los paréntesis cuadrados. [00:02:34.0] En esencia hemos creado una variable de cadena usando el tipo de datos de carácter. [00:02:39.0] Ejecutemos el programa una vez más, pero esta vez escribiré tanto el nombre como el apellido de la persona, [00:02:46.0] dejando un espacio entre uno y otro. [00:02:49.0] Como puede ver, el valor de la variable es simplemente John, no John espacio Smith. [00:02:56.0] La razón para esto es que un tipo de dato 'string', o cadena, que en realidad son varios tipos carácter juntos, no aceptará un espacio en blanco. [00:03:04.0] Apenas escribimos el espacio el teclado dejó de aceptar la entrada de más datos desde el teclado. [00:03:14.0] Recuerde que el operador de extracción 'cin' deja de leer caracteres del teclado apenas [00:03:20.0] el usuario presiona la tecla enter o escribe un carácter que no es apropiado para el tipo de dato de la variable. [00:03:25.0] En el caso de las cadenas de caracteres, el espacio es un carácter no apropiado. [00:03:30.0] Otra nota importante: si el usuario ingresa más caracteres de los que el tamaño de la variable puede almacenar, [00:03:35.0] C almacena los caracteres adicionales en locaciones de memoria adyacentes pero no reservadas para esa variable. [00:03:41.0] Almacenar estos caracteres adicionales en estas locaciones no-reservadas puede sobreescribir información importante en memoria, [00:03:47.0] tal vez incluso bloqueando su sistema. [00:03:51.0] Como es usual que las constantes en cadenas contengan uno o más espacios, [00:03:55.0] la siguiente sección le mostrará una forma distinta de ingresar datos a una variable de cadena, una forma que permitirá a los datos contener espacios. [00:04:02.0] Se puede usar una de las funciones miembro de 'cin' llamada obtener linea, o 'get line', para ingresar datos que contienen espacios en una variable de cadena. [00:04:09.0] Esto será discutido en el siguiente segmento. [00:04:12.0]

Tutorial Information

Course: C++ (Español)
Author: Arthur L. Lee
SKU: 33572
ISBN: 1-932808-26-4
Release Date: 2004-11-03
Duration: 5 hrs / 44 lessons
Work Files: Yes
Captions: Available on CD and Online University
Compatibility: Vista/XP/2000, OS X, Linux
QuickTime 7, Flash 8

VTC Sign up & Benefits

  • Unlimited Access
  • 81,350 Video Tutorials (20,800 free)
  • Video Available as Flash or QuickTime
  • Over 782 Courses
  • $30 for One Month Access
  • Multi-User Discounts Available