Avatar billede tosssen Nybegynder
27. december 2002 - 15:17 Der er 4 kommentarer og
1 løsning

åbne en fil

Jeg har brug for at åbne en fil, hvis navn jeg har gemt i en variabel af typen string. Hvordan gøres det nemmest?

Søren
Avatar billede soreno Praktikant
27. december 2002 - 15:21 #1
/* fopen example */
#include <stdio.h>
int main ()
{
  FILE * pFile;
  pFile = fopen ("myfile.txt","wt");
  if (pFile!=NULL)
  {
    fputs ("fopen example",pFile);
    fclose (pFile);
  }
  return 0;
}

Læs selv mere her:
http://www.cplusplus.com/ref/cstdio/fopen.html
Avatar billede tosssen Nybegynder
27. december 2002 - 15:57 #2
Er du sikker på at der ikke kommer en fejlmelding, når jeg skriver en string i stedet for "myfile.txt"? Det gør der nemlig når jeg prøver at åbne med ifstream. Variablen skal vist helst være af typen 'const char *'
Avatar billede arne_v Ekspert
27. december 2002 - 16:10 #3
Hvis din variabel hedder mitfilnavn, så kan du bruge:

C:

FILE *fp = fopen(mitfilnavn, "r");

eller

FILE *fp = fopen(mitfilnavn, "w");

C++:

ifstream minfil(mitfilnavn);

eller

ofstream minfil(mitfilnavn);
Avatar billede soreno Praktikant
27. december 2002 - 16:17 #4
Krystalkuglen er lidt uklar idag, men jeg tror du bruger STL ?

I så fald kan du konvertere til et char array således:
min_stl_string.c_str();  // \0 termineret char array
min_stl_string.data();  // ikke \0 termineret char array

F.eks.

pFile = fopen (min_stl_string.c_str(),"wt");
Avatar billede tosssen Nybegynder
27. december 2002 - 16:20 #5
Der ramte du plet soreno! Det var præcis det der var mit problem!
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