Título: Duda sobre el control de la longitud de una cadena de caracteres Publicado por: seryioo en 16 Agosto 2015, 20:59 pm Buenas a todos, tengo una duda.
Si tengo las dimensiones de una cadena de caracteres... Código
... e introduzco por ejemplo en cadena1: "El pajaro vuela", el caracter nulo "\0" estaría inmediatamente después de vuela\0 o estaría en la posición 80 de cadena1 por haber definido su tamaño previamente? PD: Es que en un ejericio me salen datos basura... no se qué estoy haciendo mal. Os dejo el código. El main ya venía hecho. Código
Título: Re: Duda sobre el control de la longitud de una cadena de caracteres Publicado por: Stakewinner00 en 16 Agosto 2015, 23:56 pm El carácter \0 estaría despues del último char leído, no en la posición 80.
Los carácteres basura seguramente es porque en la función agregar_caracter machacas el '\0' en la línea Código: destino[longitud(destino)]=c; Si tenías la cadena "Vuela\0" y añades el caracter 'D', lo que estas haciendo es reemplazar el \0 por la D y queda "VuelaD", lo que tendría que pasar es que añade la 'D' entre la 'a' y el '\0' para que quede "VuelaD\0" Espero haber ayudado, saludos Título: Re: Duda sobre el control de la longitud de una cadena de caracteres Publicado por: seryioo en 17 Agosto 2015, 10:22 am Buenas, gracias por tu respuesta.
He arreglado eso que dices, pero sigo teniendo el mismo error: Código
PD: Lo he arreglado, me he dado cuenta que al añadir el caracter la longitud de destino aumenta, por lo que guardo la longitud inicial para usarla correctamente despues, donde añado \0 Código
Sigue sin funcionarme la función "encadenar". A ver si consigo encontrar el error y corregirla. Código
|