Avatar billede dehdar Nybegynder
10. februar 2008 - 12:26 Der er 5 kommentarer og
1 løsning

Læse data fra en txt fil?

Hej, jeg vil lave et program, hvor jeg gemmer/printer noget bestemt data over i en tekstfil. Det kunne f.eks. være en væskemåler. Er det muligt at få programmet (skal køre i prompt) til at læse værdier som er gemt i tekstfilen senere hen eller findes der en anden løsning som er smartere?
Avatar billede arne_v Ekspert
10. februar 2008 - 15:54 #1
En database var muligvis smartere.

Men ja du kan godt skriv til og læse fra en fil.

fopen, fprintf, fscanf og fclose var nogle af de mulige funktions kald.
Avatar billede arne_v Ekspert
10. februar 2008 - 15:55 #2
Et gammelt eksempel fra lageret:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

struct person
{
    char navn[20];
    int nr;
};

int main()
{
  FILE *fp;
  struct person kartotek[100];
  int antal,i;
  // læs
  fp = fopen("kartotek.dat", "r");
  antal = 0;
  while(!feof(fp))
  {
      fscanf(fp,"%s %d\n",kartotek[antal].navn,&kartotek[antal].nr);
      antal++;
  }
  fclose(fp);
  // tilføj en person
  strcpy(kartotek[antal].navn,"Dorthe");
  kartotek[antal].nr = 4;
  antal++;
  // skriv
  fp = fopen("kartotek.dat", "w");
  for(i=0;i<antal;i++)
  {
      fprintf(fp,"%s %d\n",kartotek[i].navn,kartotek[i].nr);
  }
  fclose(fp);
  return 1;
}
Avatar billede dehdar Nybegynder
10. februar 2008 - 18:02 #3
Tak for det :)

PS: Fremover synes jeg du skulle skrive svar i stedet for kommentar, for det er jo udelukkende guldkorn du kommer med ^^
Avatar billede arne_v Ekspert
10. februar 2008 - 18:48 #4
svar
Avatar billede arne_v Ekspert
10. februar 2008 - 18:48 #5
ovenstaaende er ren C - i C++ er der andre muligheder
Avatar billede arne_v Ekspert
10. februar 2008 - 18:50 #6
C++ eksempel:

#include <fstream>
#include <string>

using namespace std;

int main()
{
    ifstream f1("f1.dat");
    ofstream f2("f2std.dat");
    string line;
    while(f1 && getline(f1,line))
    {
        f2 << line << endl;
    }
    f1.close();
    f2.close();
    return 0;
}
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