Programación General => C/C++ => Mensaje iniciado por: mangelprap en Viernes 12 de Octubre de 2007, 15:45
Título: Problemas Con Strings En C++
Publicado por: mangelprap en Viernes 12 de Octubre de 2007, 15:45
Problemas con la siguiente función, el caso es que antes de finalizar el programa que utiliza esta clase, accede a una posicion de memoria que no toca y claro falla!!!
bool esSeparador (char c, char m) if (c==m) return false; return (!(((47 < c) && (c < 58)) || //numeros ((64 < c) && (c < 91)) || //majuscules ((96 < c) && (c < 123)))); //minuscules } letras es un string, declarado en el .hpp. A ver si alguien ve el error... Gracias!!!
Título: Re: Problemas Con Strings En C++
Publicado por: Karman en Viernes 12 de Octubre de 2007, 18:02
1º si no me equivoco el operador "+=" sirve para concatenar strings y no chars, (no estoy seguro), pero se me hace que tu error podría estar ahí cuando busca el fin de línea empieza a leer memoria contigua que no pertenece a la variable.
Prueba así:
Código: Text
char c[]={0,0};
c[0]=readchar();
while (not esSeparador (cin.peek (), MARCAFINAL))
{
c[0]=readchar();
letras += c;
}
}
S2
Título: Re: Problemas Con Strings En C++
Publicado por: mangelprap en Viernes 12 de Octubre de 2007, 18:53
Ya esta resuelto. Al final la función era correcta. El problema era que hacia el include .hpp de la versión anterior. Y por ahi, venia el fallo. Despiste tonto!!!
Gracias, de todas formas, !!! Y doy por cerrado el post .