Programación General > C/C++

 Problema leyendo texto

(1/1)

Alfonsos1:
tengo un archivo de texto que contiene numeros de 3 sifras, por ejemplo asi:
078
008
670
801
etc...

el siguiente codigo lo que deve hacer es hacer que un array llamado "miarray" registre los valores (en caso de que no hallan mas lineas en el txt, le debe asignar un valor de 1000 al resto de valores del array), pero cuando chequeo el array "miarray" este tiene un valor de 0 en todas sus posiciones

FILE *f = fopen("Archivo.txt", "r");
char linia[3];
int miarray[60];
for(int i=0;i<60;i++)
{
  if(fgets(linia,3,f)!=NULL) miarray=atoi(linia);
  else miarray=1000;
}
fclose(f);

Amilius:

--- Código: C++ ---     FILE *f = fopen("Archivo.txt", "r");    if (f) // Siempre verifica que tus punteros sean válidos.    {        char linea[4];// NUNCA te olvides del carácter nulo de finalización de cadena        int miarray[60];        for(int i=0; i<60; i++)        {            if(fgets(linea, sizeof(linea),f))            {                miarray[i]=atoi(linea);            }            else            {                miarray[i]=1000;            }        }        fclose(f);    }  


P.D.
Deberías aplicar un corrector ortográfico a tus textos.

Alfonsos1:
ahora he podido, pero es raro, tube que poner un 5 en lugar de un 4 en la quinta linea de tu codigo y no se por que  :huh:

Vndecid:
Yo haria


--- Código: C ---File *archivo;char linea[10] //serian 3 lugares  para los numero uno mas para el n y uno mas para el yo puse 10 normalmente te dicen que pongas siempre unos luigares mas por las dudas de que aparezca algo "inesperado"int vector[60];int i; AbrirArchivo(&archivo,"direccion","rt"); for(i=0;i<=59;i++){   fgets(linea,10,archivo);   if(linea!=NULL)      vector[i]=anumero(linea);   else      vector[i]=1000;} 
anumero y AbrirArchivo hay que hacerlas

*tuve va con v..

Navegación

[0] Índice de Mensajes

Ir a la versión completa