| Ver tema anterior :: Ver siguiente tema |
| Autor | Mensaje |
|---|
apocaliptica100
Registrado: 12 Feb 2011 Mensajes: 31
| Publicado: 20/09/2011 5:46 pm | | | Título: pasar datos de un archivo a un arreglo |
| hola quiero saber como se le hace para que de un archivo que contiene numeros sean almacenados en un arreglo para ser estado supongo que primero se tiene que checar linea por linea del archivo aqui dejare la parte que necesito pero este se encuentra en c++ y lo nesesito en c espero que me puedan ayudar con eso de antemano muchas grasias
| Código: | int numbers[100],i=0,aux,N; //se declaran 3 variables tipo entero y 1 arreglo de memoria for(int j=0;j<100;numbers[j++]=0); //ciclo for que se usa para igualar todo el arreglo numbers a cero string linea; //se declara una variable tipo string ifstream myFile("Numbers.dat"); //se abre el archivo Numbers.dat para lectura if(myFile.is_open()){ //se checa si se abrio correctamente el archivo while(! myFile.eof()){ //entra en ciclo para mientras que no se llegue al final del archivo getline(myFile,linea); //se obtiene la linea del archivo y se guarda en la variable 'linea' stringstream(linea)>>numbers[i++]; //se guarda el valor de la variable 'linea' al arreglo de memoria } //se termina ciclo myFile.close(); //se cierra el archivo } |
_________________ ^^ |
|
| Volver arriba | |
 |
rir3760

Registrado: 01 Oct 2004 Mensajes: 6586 Ubicación: Mexico
| Publicado: 20/09/2011 8:11 pm | | | Título: |
| Para leer números de un archivo de texto basta con abrirlo con "fopen" y a continuación lees cada uno con "scanf", mas o menos así:
| Código: | /* Apertura del archivo */
while (scanf("%d", &numero[i]) == 1) i++;
/* Cierre del archivo */ |
Intenta por lo menos desarrollar una parte del programa, si tienes dudas encantados de ayudarte.
Un saludo _________________ Memory never recaptures reality. Memory reconstructs. All reconstructions change the original, becoming external frames of reference that inevitably fall short. -- Mentat Handbook |
|
| Volver arriba | |
 |
apocaliptica100
Registrado: 12 Feb 2011 Mensajes: 31
| Publicado: 21/09/2011 12:21 pm | | | Título: |
| muchas grasias por el consejo espero que me pueda ayudar _________________ ^^ |
|
| Volver arriba | |
 |
|
Sagara
Registrado: 24 Nov 2011 Mensajes: 13
| Publicado: 01/12/2011 7:09 pm | | | Título: Sugerencia |
| Hola apocaliptica100! No se si es de tu preferencia el tener que usar un ciclo para llenar todas las casillas de un arreglo con 0, pero puedo sugerirte usar la funcion memset la cual te sirve tambien para inicializar tu arreglo con 0. memset es una funcion que inicializa un array se define de la siguiente tiene la siguiente forma al usarlo... memset(arreglo, valorconquesequierellenar, hastadonde); Como veras solo te pide 3 parametros, el arreglo donde lo vas a almacenar, con lo que lo quieres llenar ya sea un int o un char, y por ultimo hasta que casilla lo quieres llenar.
Un saludo! |
|
| Volver arriba | |
 |
|
|