Título: Estructura y archivos en c++ Publicado por: Luifs en 7 Junio 2013, 17:03 pm Buenas tardes disculpen tengo una duda.. necesito saber como hacer para que yo pueda extraer una cadena de texto y designarla a varias variables de una estructura en c++ ejemplo:
Nombres10402515 en la cual pudiera sacar las 3 variables un char y dos int. Nombre 1040 2515 Título: Re: Estructura y archivos en c++ Publicado por: Puntoinfinito en 7 Junio 2013, 17:21 pm Bueno pues facil, miras y analizas cadena de texto y seguidamente haces la conversión si hace falta, para luego guardarlo en una variable. Por ejemplo:
Código
Esto es un ejemplo sin acabar, solo para que te ayude a pensar, lo que queda es hacer que cada vez que se añada un valor a una variable, se añada al final su contenido y que no se le sobrescriba. Y luego, si quieres que se dividan los integers en 2 variables, haz otra comparación para ver si esta llena y así entonces rellenar la siguiente. (Con size sería fácil). Saludos :D Título: Re: Estructura y archivos en c++ Publicado por: Luifs en 7 Junio 2013, 17:37 pm Muchas gracias.. pero sera lo mismo a la hora de jalar la cadena de texto desde un archivo.txt?
Título: Re: Estructura y archivos en c++ Publicado por: Puntoinfinito en 7 Junio 2013, 17:59 pm Claro, pero debes primero cojerla xD Con fstream puedes.
Esta sería una opción, no muy utilizada pero esta más o menos así en el ejemplo de ifstream en la página oficial de C++. Código
otra opción mejor: Código
Si no entiendes algo, here I am :D Saludos!! Título: Re: Estructura y archivos en c++ Publicado por: rir3760 en 7 Junio 2013, 18:37 pm Cuando se procesa el contenido de un archivo no se recomienda el uso de las funciones feof (en el caso de C) y eof (C++) ya que estas retornan verdadero solo después del fallo en una operación de lectura.
En su lugar lo usual es utilizar el valor de retorno de la función, por ejemplo el bucle en el programa de Puntoinfinito se puede reducir a: Código
Un saludo Título: Re: Estructura y archivos en c++ Publicado por: amchacon en 7 Junio 2013, 18:51 pm if(archivo.fail()) fail() indica errores en la operación de lectura, no te sirve para comprobar aperturas.cerr << "Error al abrir el archivo Pruebas.txt" << endl; Yo uso: Código
O bien: Código
Título: Re: Estructura y archivos en c++ Publicado por: Puntoinfinito en 7 Junio 2013, 21:45 pm Cierto, gracias, junto a lo que dijeron los dos compañeros quedaría así:
Código
Lo del fail() fue un error mío de no fijarme en el código, perdón jajaja. Luifs, ahora si añades eso y a la vez que vayas mirando la variable linea que has extraído ya lo tienes. :D Saludos!! Título: Re: Estructura y archivos en c++ Publicado por: 0xDani en 7 Junio 2013, 22:20 pm Código
Fíjate en esa comparación, estás comparando un caracter con una cadena, eso no debería compilar, ni determinar si el carácter representa un número. Por otra parte el hecho de que @rir3760 no lo haya indicado me hace dudar... xD Saludos. Título: Re: Estructura y archivos en c++ Publicado por: Puntoinfinito en 7 Junio 2013, 22:43 pm A lo que me refiero con "0-9", es que debe mirar si el carácter coincide con algún número del 0 al 9. No se si con números lo de hacer "0-9" funciona, pero en todo caso puede poner un if ( .. || ...) y sloved
Título: Re: Estructura y archivos en c++ Publicado por: rir3760 en 8 Junio 2013, 02:45 am A lo que me refiero con "0-9", es que debe mirar si el carácter coincide con algún número del 0 al 9. No se si con números lo de hacer "0-9" funciona No, no funciona.Si la idea es verificar si un carácter es un dígito se puede utilizar un operador lógico, por ejemplo: Código
O bien la función (usualmente implementada como macro) isdigit (prototipo en <ctype.h> en C y <cctype> en C++): Código
Un saludo |