2017-01-23 5 views
-4

Ich habe eine Funktion, die Primzahlen in eine Datei schreiben muss. Die Funktion ruft die Datei, in die ich schreiben möchte, als Referenz ab. Nun, wie bekomme ich den Pfad der Datei, da ofsteam den Pfad der Datei benötigt?Den Pfad einer bestimmten Datei ermitteln C++

Hier ist die Funktion:

void writePrimesToFile(int begin, int end, ofstream& file) 
{ 
    ofstream myfile(/*givenFilePath*/); 
    if (myfile.is_open()) 
    { 
     for (int i = begin; i < end; i++) 
     { 
      if (isPrime(i)) 
       myfile << i << endl; 
     } 
    } 
    else cout << "Unable to open file"; //in case of error 
} 
+0

* Was * Dateipfad? – tadman

+6

Warum möchten Sie einen anderen Ofstream erstellen? Du hast schon eins. – melpomene

+0

Sie müssen es bereitstellen - C++ bietet keine magische Funktion, um es zu erraten. –

Antwort

0

Die Funktion, die Sie suchen, existiert nur in höheren Programmiersprachen wie Java. C++ ist eine Low-Level-Sprache, die leider keine solche Funktion hat, die den Pfad einer Datei bereitstellen kann, wenn die Datei selbst als Parameter angegeben wird.

Was Sie abwechselnd tun Sie einen Dateipfad angeben können, wenn Sie die Datei zu erklären, wie ich weiter unten haben:

ofstream any_file("\\Users\\...\\hello.txt", ios::in | ios::trunc); 
    any_file.open(); 
    // Do stuff 
    any_file.close(); 

Auf diese Weise Sie BEREITS WISSEN die Position Ihrer Datei und müssen daher nicht danach suchen, da es keine Funktion gibt, die den Pfad der gegebenen Datei extrahieren kann.

Ich hoffe, das war hilfreich.

Verwandte Themen