Datei lesen - klappt nicht



  • Hallo,

    ich kann eine Datei erzeugen, nur öffnen funktioniert leider nicht.

    system("bcdedit | find /i \"nx\" > %temp%\\bcdedit.txt");
    		std::string line;
    		std::ifstream myfile("%temp%\\bcdedit.txt");
    
    		if (myfile.is_open())
    		{
    			while (std::getline(myfile, line))
    			{
    				LPCSTR cstr = line.c_str();
    				MessageBox(NULL, cstr, "If it is AlwaysOff, everything is fine.", MB_OK);
    			}
    			myfile.close();
    		}
    
    		else{
    			std::cout << "Unable to open file";
    		}
    

    Sieht jemand den Fehler? Danke.



  • Die Ersetzung von %temp% in Z. 3 wird nicht funktionieren.
    Das ist ja Feature Deiner Shell.



  • hi,

    um das Problem mit dem Pfad zu lösen, habe ich nun das:

    system("bcdedit | find /i \"nx\" > %temp%\\bcdedit.txt");
    
    char const* bufer[100];
    bufer = getenv("TEMP") 	+ "\\bcdedit.txt";
    
    std::ifstream inf(bufer);
    

    Mal eben den Pfad zusammensetzen mag C++ nicht wie ich es von anderen Sprachen gewohnt war. Wie setze ich "bufer" korrekt zusammen 😕



  • Genauso wie du bisher in deinem Code 'line' benutzt, d.h. verwende dafür auch einen std::string.


Anmelden zum Antworten