C/C++ : διάβασμα δεδομένων από αρχεία...

giostau

Πολύ δραστήριο μέλος

Ο giostau αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 43 ετών. Έχει γράψει 1,945 μηνύματα.
Μήπως κάποιο καλό παιδί γνωρίζει πώς θα κάνω το εξής:

Θέλω να διαβάσω κάποια δεδομένα από αρκετά αρχεία, των οποίων τα ονόματα είναι σειριακά... (ας πούμε file1.txt, file2.txt κλπ...)

θέλω να κάνω κάτι τέτοιο:

FILE *data;
for (i=0; i<4; i++)
{
data = fopen("filei.txt","r+");
fscanf(data,"%f %f\n",&x, &y);
fclose(data);
}


ξέρει κανείς πώς γίνεται;;;
(να αλλάζει δηλαδή εκείνο το i που έχω με κόκκινο....)



μην πει κανείς να το κάνω χωρίς for, ένα ένα τα αρχεία, θα αρχίσω να δαγκώνω!!!:P :P
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 18 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

emufear

Πολύ δραστήριο μέλος

Ο emufear αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 37 ετών και επαγγέλεται Φοιτητής/τρια. Έχει γράψει 1,730 μηνύματα.
Code:
FILE *data;
char i;
int j;
char name[20];
char name2[20];
strcpy(name,"file");
strcpy(name2,".txt");
for (i='0'; i<'4'; i++)
{     
    strcat(name,i);
    strcat(name,name2);
    data = fopen(name,"r+");
    fscanf(data,"%f %f\n",&x, &y);    
    fclose(data);
    for( j = 0; name[j]!='\0'; j++)
        name[j] = '\0';      // string is being re-nulled
    strcpy(name,"file");  // here we go again :P
}

Για δοκίμασε αυτό from the top of my head
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 18 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

DirectX

Νεοφερμένος

Ο DirectX αυτή τη στιγμή δεν είναι συνδεδεμένος. Έχει γράψει 41 μηνύματα.
Μπορείς επίσης να το κάνεις με την βοήθεια της C εντολής sprintf ως εξής:

Code:
#include <stdio.h>
#include <io.h>

int   nFirst_File_Number;
char  szFilename[4096];  // A relative large enough path buffer (4KB) 
float fVal[2];	
FILE  *Stream;

void main()
{
   for(nFirst_File_Number=0;nFirst_File_Number<4;nFirst_File_Number++)
    {
      [b]sprintf(szFilename,"file%d.txt",nFirst_File_Number);[/b]

      // Assure file existence
      if(access(szFilename,0)!=-1)
       {
         // Open file for read in default _fmode mode (text by default) 
         if((Stream=fopen(szFilename,"r"))!=NULL)
          {
            fscanf(Stream,"%f %f",&fVal[0],&fVal[1]);
            fclose(Stream);

            printf(" [%s] = %.1f %.1f\n",szFilename,fVal[0],fVal[1]);
          }
         else
          printf(" DOS Error: File read access denied - %s\n",szFilename);
       }
    }
}

Καλή συνέχεια!
:)
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 18 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

giostau

Πολύ δραστήριο μέλος

Ο giostau αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 43 ετών. Έχει γράψει 1,945 μηνύματα.
Ευχαριστώ πολύ παίδες!!!:)
Με γλυτώσατε από πάρα πολύ κόπο!!!!
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 18 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Χρήστες Βρείτε παρόμοια

  • Τα παρακάτω 0 μέλη και 1 επισκέπτες διαβάζουν μαζί με εσάς αυτό το θέμα:
    Tα παρακάτω 0 μέλη διάβασαν αυτό το θέμα:
  • Φορτώνει...
Top