Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Ipanemaa en 21 Enero 2012, 11:11 am



Título: Obtener archivo .txt en C++
Publicado por: Ipanemaa en 21 Enero 2012, 11:11 am
Hola, tengo el siguiente programa, compilado con dev-c++, que calcula la media de dos columnas

Citar
#include <stdio.h>

int main(int argc, char *argv[]){

     FILE *fp;
     float dominadasAB;
     float dominadasBA;
     float sumAB = 0.0;
     float sumBA = 0.0;
     char cadAB[100];
     char cadBA[100];
     int lineas = 0;
     int asignadas = 0;
     
     fp=fopen("CAB-CBA.txt","r");
     
     while (asignadas != EOF){
          asignadas = fscanf(fp, "%s %f %s %f", cadAB, &dominadasAB, cadBA, &dominadasBA);
          if (asignadas != EOF){
             sumAB += dominadasAB;
             sumBA += dominadasBA;
             lineas++;
          }
     }
     
     printf("Lineas leidas: %d\n", lineas);
     printf("Sumatorio %s %f\n", cadAB, sumAB);
     printf("Media %s %f\n", cadAB, sumAB / lineas);
     printf("Sumatorio %s %f\n", cadBA, sumBA);
     printf("Media %s %f\n", cadBA, sumBA / lineas);
     
     fclose(fp);

}

No se como hacer que los dos resultados que me calculan la media vayan a un .txr, o modifiquen el archivo original, sin borrar lo que hay en el, escribiendo debajo. Lo he intentado todo, cambiando el tipo de archivo.txt, de "r" a "a" a "w", con otras funciones tipo fprintf, fget, fput,... pero ninguna me da el resultado que quiero. Alguna sugerencia?

Gracias.


Título: Re: Obtener archivo .txt en C++
Publicado por: Xandrete en 21 Enero 2012, 14:11 pm
Tan sencillo como abrir el archivo en modo append ("a" en lugar de "r") o utilizar fseek para despazarte al final del archivo (fseek(fp,0,SEEK_END)).

Saludos


Título: Re: Obtener archivo .txt en C++
Publicado por: Ipanemaa en 21 Enero 2012, 15:56 pm
resuelto

muchas gracias