Zum Inhalt springen

Royal_Flush

Mitglieder
  • Gesamte Inhalte

    4
  • Benutzer seit

  • Letzter Besuch

  1. Oh, ok, jetzt funktioniert es. Ich bin davon ausgegangen, dass ich einen FileStream brauche, um eine FileReader arbeiten lassen zu können. Da habe ich das Turorial wohl etwas missverstanden. Danke.
  2. Das kann schon sein, aber wenn ich den Dateinamen dranhänge, bringt er mir beim darauffolgendem StreamReader die Fehlermeldung, dass die Datei bereits von einem anderen Prozess verwendet werde. System::String^ Path = Directory::GetCurrentDirectory() + "/server.properties"; FileStream^ datei = gcnew FileStream( Path, FileMode::Open ); StreamReader^ reader = gcnew StreamReader( "server.properties" ); Zwar bekomme ich jetzt beim FileStream keine Fehlermeldung mehr, aber ohne StreamReader kann ich doch auch nichts auslesen, oder?
  3. Hallo, Ich versuche eine Datei zu öffnen, die im selben Verzeichnis liegt wie mein Programm. Da FileStream ja keine relativen Pfadangaben unterstützt, wollte ich mir den Pfad wie folgt ausgeben lassen: System::String^ Path = Directory::GetCurrentDirectory() + "/"; FileStream^ datei = gcnew FileStream( Path, FileMode::Open ); Das Problem ist jetzt, dass ich während des Ausführens folgende Fehlermeldung erhalte: Eine nicht behandelte Ausnahme des Typs "System.IO.DirectoryNotFoundException" ist in mscorlib.dll aufgetreten. Zusätzliche Informationen: Ein Teil des Pfades "c:\Dokumente und Einstellungen\xxx\Eigene Dateien\Visual Studio 2008\Projects\test\test\" konnte nicht gefunden werden. woran könnte das liegen?
  4. Hallo, ich hätte mal eine Frage: Ich versuche, einen Pfad, der in einem FolderBrowserDialog ausgewählt wurde in eine Datei zu speichern, um ihn dann auch bei erneuter Ausführung des Programms als Standardverzeichnis zu haben. Der Code zum Speichern scheint zu funktionieren (Zumindest gibt es keine Fehlermeldung): //Bei Klick auf OK if (Speicherort->ShowDialog()==::DialogResult::OK) { //Pufferüberlauf? if (Speicherort->SelectedPath->Length<900) { //Pfad übernehmen Path=Speicherort->SelectedPath; //Standardpfad? if (MessageBox::Show("Möchten Sie diesen Pfad als Standard speichern?", "Frage", System::Windows::Forms::MessageBoxButtons::YesNo, System::Windows::Forms::MessageBoxIcon::Information) == ::DialogResult::Yes) { //Wenn ja, dann speichern: //ohne das funktioniert das Speichern nicht... System::String^ StringOut=Path; //in Datei schreiben ofstream of("Primzahlenrechner.opt", ios::binary); of.write ((char*) &StringOut, sizeof(StringOut)); of.close(); bStd=true; } else { bStd=false; } } else { MessageBox::Show ("Speicherpfad zu lang!", "Fehler!", MessageBoxButtons::OK, MessageBoxIcon::Error ); } Den String IO habe ich erstellt, weil beim Versuch, es direkt mit Path, welcher am Anfang der Klasse Form1 erstellt wurde, zu machen, eine Fehlermeldung kommt, dass die Konvertierung von System::String^ nach char* nicht möglich sei. Das Auslesen des Pfades will ich direkt vorm Speichern machen: void Speichern () { //Variablen char Name [1000]; //Dateiname System::String^ IO; string sAnzahl=AnzahlErzeugen(); //Letzte Zeile //Soll es im Standardverzeichnis erstellt werden? if (bStd==true) { //Spiecherpfad aus Datei auslesen: ifstream in ("Primzahlenrechner.opt", ios::binary); //gibts die Datei überhaupt? if (in!=NULL) { //Dann auslesen: in.read((char*)&IO, sizeof(IO)); in.close(); //Übernehmen: MessageBox::Show(Path);//Dient nur dazu, mir den Inhalt zu zeigen } } //Dateinamen erzeugen sprintf (Name, "%s\\Primzahlen %i-%i.txt", Path, ZahlStart, ZahlEnd); //[Hier wird das Ergebnis in die Datei geschrieben, aber da liegt der Fehler nicht...] Wenn ich das ausführe, bevor ich einen neuen Pfad im Pfaddialog ausgewählt habe, erscheint folgende Fehlermeldung: Mich würden jetzt zwei Sachen interessieren: 1. Was bedeutet diese Fehlermeldung, bzw. was kann man dagegen machen? 2. Warum kann man System::String^ Path nicht in einen char-Zeiger konvertieren, System::String^ IO / StringOut aber schon? Ich benutze Microsoft Visual C++ 2008 Express und das ganze ist eine Windows Forms Anwendung. Gruß Royal_Flush

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...