Avatar billede mobi2 Nybegynder
05. maj 2000 - 16:08 Der er 5 kommentarer og
1 løsning

Filer i stimer....

Jeg har en funktion
Gør_noget(filnavn1,filnavn2)
som skal modtage to filer, og sammenligne de to filer, hvordan er lige meget.
Det jeg skal ha, er en funktion der automatisk tager 2 filer og overfører...
lad os sige at jeg har 10 filer, fortløbende fra 1-10.
fil 1 og 2 skal overføres til Gør_noget,
derefter fil 2 og 3,
derefter fil 3 og 4,
osv osv....
jeg har en tekstfil hvor alle mine filer står i, som jeg læser ind med en funktion, en efter en.
Hvordan løser jeg denne nød..... et programeksempel ville ikke være af vejen.....
ps. det er KUN TC det skal virke i, altså DOS... ikke VC++

Mobi2
Avatar billede roadkill Nybegynder
06. maj 2000 - 10:18 #1
Den tror jeg, vi skal ha' igen... langsomt... Hvad er det helt præcist, du er ude efter?
Er det bare et spørgsmål om at løbe din filnavnsfil igennem og kalde Gør_noget med filerne to og to?
Avatar billede mobi2 Nybegynder
06. maj 2000 - 20:54 #2
Ja, jeg skal ha fil 1+2
så fil 2+3
så fil 3+4
osv osv
Avatar billede roadkill Nybegynder
06. maj 2000 - 21:41 #3
void Gør_noget_ved_alle(char *filename)
{
  FILE *f=fopen(filename,"r");
  char l1[1024],l2[1024];

  while (!fgets(f,1024,l1))
  {
    if (fgets(f,1024,l2)
    {
      Gør_noget(l1,l2);
    }
    else
      cerr << "Der er et ulige antal linier i filen!" << endl;
  }
  fclose(f);
}
Avatar billede soepro Nybegynder
08. maj 2000 - 08:55 #4
Ovenstående kodestump holder ikke - den sammenligner 1+2, så 3+4, så 5+6 osv. Du skal istedet "swappe" den sidst-læst, og så blot læse eet nyt filnavn:

:
  char fname1[MAXPATH], fname2[MAXPATH];
  FILE *finp = fopen(filename, "r");
  if (finp == NULL)
    fprintf(stderr, "Filen %s kunne IKKE åbnes.\n", filename);
  else
  { /* Hent første fil-navn. */
    if (fgets(finp, sizeof(fname1)-1, name1) != NULL)
      /* Hent næste fil-navn. */
      while (fgets(finp, sizeof(fname2)-1, fname2) != NULL)
      { /* Sammenlig de to filer. */
        Gør_Noget(fname1, fname2);
        /* Gør klar til de næste to filer. */
        strncpy(fname1, fname2, sizeof(fname1)-1);
      };
    fclose(finp);
  };
:
Avatar billede soepro Nybegynder
08. maj 2000 - 09:30 #5
Spørgsmålet omkring sammenligning af to filer, er allerede besvaret her på eksperten under http://www.eksperten.dk/spm.asp?id=4467.
Avatar billede mobi2 Nybegynder
08. maj 2000 - 09:37 #6
ok, men det var ikke helt det samme somm det jeg skulle bruge... men jeg har testet det nu, og det kører bare.....FEEEEEEEEDT mand...juhuuu :-)
Jeg mener at det var det sidste spørgsmål nu, nu skulle programmet kunne køre helt af sig selv.... dejligt.
Takker mange gange for hjælpen...
Begge to!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester