Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [c] efficenza: lettura di un file

    Devo leggere dei dati da un file e sistemarli in modo opportuno in array

    ho scritto questo codice (le variabili chiaramente sono dichiarate prima)

    FILE *dati = fopen(f, "r");
    for (i=0;i<n;i++) {
    fscanf(dati,"%d",&a);
    d[i]=malloc(a,...);
    for (j=0;j<a;j++) {
    fscanf(dati,"%d %f",&(d[i][j].a),&(d[i][j].b));
    }
    }
    fclose(dati);

    in totale in questo file ci sono interi e float e li devo leggere in questo modo... il programma funziona, ma trattandosi di almeno 10000000 di valori la funzione risulta lenta...
    soprattutto rispetto alla funzione successiva che manipola questi dati...

    c'è un modo per migliorare la velocità di lettura?

    grazie
    E poi Martina lavava l'anitra miope!

    Pi greco

  2. #2
    Provata la fread ?
    Noto che può essere usata, ma no so dirti se è migliore....
    Eventualmente puoi provare a leggerli in assembly (se lo vuoi usare)...
    Experience is what you get when you don’t get what you want

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.