Probleme Visual Studios 2019/ Textdatei wird nicht erstellt
-
Abend,
Ich habe Probleme mit meinem Microsoft Visual Studios 2019. Mein (super simples) Programm funktioniert auf anderen Rechnern problemlos, nur auf meinem Laptop nicht.
Es soll von einer Text Datei 3 Buchstaben eingelesen werden, und anschließend wieder als eine andere Textdatei(Datei2.txt) ausgegeben werden. Die im selben Ordner wie die main.cpp gespeichert werden soll.
Allerdings erstellt das Programm die Ausgabedatei nicht auf meinem Laptop.
Habt ihr vielleicht ne Idee woran das liegen kann? Visual Studios habe ich schon neu installiert, ohne Erfolg.
//Aufabe 6
char m, k, l; ifstream Eingabedatei; Eingabedatei.open("Datei1.txt"); ofstream Ausgabedatei("Datei2.txt"); Eingabedatei >> m >> k >> l; Eingabedatei.close(); Ausgabedatei << "Die gelesenen Zeichen sind : " << m << " " << k << " " << l << endl; Ausgabedatei.close(); return 0;
-
Mit C++ kenne ich mich nicht aus, aber vermutlich kann man den Fehlerstatus von "Ausgabedatei" nach dem close() abfragen.
Wenn's woanders geht nur auf deinem Schlepptopp nicht, kann's ein Rechteproblem sein.
-
@Pac0 sagte in Probleme Visual Studios 2019/ Textdatei wird nicht erstellt:
Habt ihr vielleicht ne Idee woran das liegen kann?
Ja. Vermutlich daran dass Visual Studio das Programm per Default mit Working Directory=dort wo dein Project-File liegt startet. Dort muss dann auch
Datei1.txt
liegen und dort wird dann auchDatei2.txt
erstellt.
-
@hustbaer Hallo hustbär, weißt du ggf. wie ich dieses Verzeichnis ändere?
-
@Pac0 sagte in Probleme Visual Studios 2019/ Textdatei wird nicht erstellt:
Die im selben Ordner wie die main.cpp gespeichert werden soll
Dazu müsstest du den Pfad der cpp-Datei fest einkompilieren. Das ist in der Regen keine gute Idee und ich sehe auch nicht, wofür das gut sein sollte. Wer dein Programm ausführen will, den geht es nichts an, wo der Sourcecode lag.
Der aktuelle Pfad ist schon sinnvoll als Ausgabepfad, denn dein Programm soll ja voll unabhängig von VS sein. Du kannst ja mal
std::cout << "Ausgabepfad: " << std::filesystem::current_path() << '\n';
(mit#include <filesystem>
) einbauen, um zu sehen, wo die Datei landet.
-
@Pac0 Schau mal im Release oder Debugordner von deinem Projekt
-
@Pac0
Project -> Properties -> Debugging -> Working Directory
... steht per Default auf
$(ProjectDir)
, also das Projekt-Verzeichnis, in dem sich deine.vcxproj
-Datei befindet. Entweder einen festen Pfad angeben oder eine Projektvariable und ggfs. relative Pfade (z.B. sowas$(SolutionDir)/daten
). Die verfügbaren Variablen findest du unter dem Button "Macros", in dem Dialog wenn du das Verzeichnis editierst.
-
Am besten mal im Debugger durchsteppen. Das ist ein trivialer Fehler, der leicht zu finden sein sollte.