07-05-2013 17:20
La cosa thewazaa, es que yo no usaba cin a secas, sino cin.getline que precisamente soluciona el problema porque sigue leyendo aunque haya espacios en blanco y acaba en el centinela que se añade por defecto cuando creas una cadena de caracteres
De ahi que no entienda que quedase algo en el buffer que jodiese las posteriores lecturas, pero bueno solucionado esta
Ahora lo que si que no se es como hacer lo mismo pero leyendo de archivo en vez desde teclado, la unica lectura de archivo que me sigue dando por saco es la de cadena de caracteres mientras que los int me los lee y guarda perfectamente
He probado con esto
Donde "cadena" es una cadena de caracteres y "s" un string, pero a partir de esa lectura los siguientes datos los toma como "basura" y no lee bien
Si quito esa parte del codigo y dejo solo la lectura de int va perfecto
De ahi que no entienda que quedase algo en el buffer que jodiese las posteriores lecturas, pero bueno solucionado esta
Ahora lo que si que no se es como hacer lo mismo pero leyendo de archivo en vez desde teclado, la unica lectura de archivo que me sigue dando por saco es la de cadena de caracteres mientras que los int me los lee y guarda perfectamente
He probado con esto
Código:
getline(archivo, s);
strcpy(cadena,s.c_str());
Donde "cadena" es una cadena de caracteres y "s" un string, pero a partir de esa lectura los siguientes datos los toma como "basura" y no lee bien
Si quito esa parte del codigo y dejo solo la lectura de int va perfecto