Avatar billede Jonas Nybegynder
20. august 2004 - 11:18 Der er 10 kommentarer og
1 løsning

skriv og læs fra en txt / dat fil.

Er der ikke nogle af jer der har et lille eksempel på hvordan man
skriver lidt tekst til en txt / dat fil ?

det er kun en meget kort tekst der skal indskrives og hentes.

bruger Turbo c++ fra borland (hvis det skal bruges til noget :-)

på forhånd tak.
Avatar billede medions Nybegynder
20. august 2004 - 12:42 #1
Prøv og kig på dette lille eksempel:

#include <stdio.h>

#define DFNM "date.dat"

void writeit()
{
  FILE *fp;
  char x[8];
  int i;
  for(i=0;i<sizeof(x);i++) x[i]=i;
  fp=fopen(DFNM,"w");
  fwrite(x,sizeof(x),1,fp);
  fclose(fp);
  return;
}

void readit()
{
  FILE *fp;
  char x[8];
  int i;
  fp=fopen(DFNM,"r");
  fread(x,sizeof(x),1,fp);
  for(i=0;i<sizeof(x);i++) printf("%d\n",x[i]);
  fclose(fp);
  return;
}

int main()
{
  writeit();
  readit();
}

//>Rune
Avatar billede arne_v Ekspert
20. august 2004 - 12:44 #2
Skriv:

ofstream f1("foobar.dat");
f1 << "Dette er linie 1" << endl;
f1 << "Dette er linie 2" << endl;
f1.close();

Læs:

ifstream f2("foobar.dat");
char line[1000];
f2.getline(line,sizeof(line));
cout << line << endl;
f2.getline(line,sizeof(line));
cout << line << endl;
f2.close();
Avatar billede arne_v Ekspert
20. august 2004 - 12:45 #3
#include <fstream>

using namespace std;

for at kunne bruge det.
Avatar billede Jonas Nybegynder
20. august 2004 - 12:46 #4
jeg ved jeg ikke er så meget inde i det, men den skriver "Function should return a value" i linie 33 (til sidst)
Avatar billede Jonas Nybegynder
20. august 2004 - 13:30 #5
arne_v

nu har jeg lavet den sådan.

#include<fstream.h>

using namespace std
{

ifstream f2("date.dat");
char line[1000];
f2.getline(line,sizeof(line));
cout << line << endl;
f2.getline(line,sizeof(line));
cout << line << endl;
f2.close();
}

men får "declaration syntax error" :-(

bær lidt over med mig *S*
Avatar billede arne_v Ekspert
20. august 2004 - 13:32 #6
Den skal altså stadig putte sin i en main !

#include<fstream>

int main()
{
  ifstream f2("date.dat");
  char line[1000];
  f2.getline(line,sizeof(line));
  cout << line << endl;
  f2.getline(line,sizeof(line));
  cout << line << endl;
  f2.close();
  return 0;
}
Avatar billede Jonas Nybegynder
20. august 2004 - 13:39 #7
arne_v

det er perfekt...

hvad skal jeg ændre for at få den til at skrive alle linier ?
Avatar billede arne_v Ekspert
20. august 2004 - 13:42 #8
Prøv:

#include<fstream>

int main()
{
  ifstream f2("date.dat");
  char line[1000];
  while(f2 && !f2.eof())
  {
    f2.getline(line,sizeof(line));
    cout << line << endl;
  }
  f2.close();
  return 0;
}
Avatar billede arne_v Ekspert
28. august 2004 - 18:54 #9
OK ?
Avatar billede arne_v Ekspert
04. september 2004 - 11:38 #10
?
Avatar billede Jonas Nybegynder
04. september 2004 - 16:30 #11
undskyld ventetiden
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