08/10/2012, 01:06
|
| | Fecha de Ingreso: junio-2010 Ubicación: Madrid
Mensajes: 620
Antigüedad: 14 años, 5 meses Puntos: 73 | |
Respuesta: Problemas con un programa que carga datos char nomaseg;
Tal como de ha declarado, nomaseg es una variable de tipo caracter, y solamente admite un caracter (cuando debería ser una cadena de caracteres). Dado que en C las cadenas de caracteres no existen como tales, debe crearse un arreglo de caracteres: char nomaseg[20];
(el tamaño del arreglo dependerá de las necesidades de tu programa). El indicador de final de cadena es al código ASCII 0 (NULL), y, dado que forma parte de la cadena, debe contarse con él al dimensionar la cadena.
Lo mismo ocurre con las variables apeaseg, patente y proxvenc.
Por otro lado, las funciones getchar/putchar leen/escriben un solo caracter. Para leer/escribir cadenas de caracteres tienes scanf/printf (con especificador de formato "%s"). Si la cadena a leer va a contener espacios en blanco utiliza gets en lugar de scanf, ya que scanf te leería hasta el primer espacio en blanco o tabulación y dejaría el resto pendiente de leer.
Saludos, |