Zum Inhalt springen

Schreiben in Datei


skinless

Empfohlene Beiträge

Hallo,

ich habe kürzlich ein Programm unter Linux geschrieben, welches eine Datenbank aus einer txt-Datei einliest, mit dieser dann je nach Benutzereingabe rechnet und die Datenbank anschließend wieder in die txt-Datei speichert.

Das Programm läuft einwandfrei.

Nun wollte ich es auch unter Windows 7 zur Verfügung haben.

Also habe ich den gleichen Quelltext in Windows kompiliert und es funktioniert nicht. Das Programm liest die Werte korrekt ein und rechnet auch korrekt, doch kann es nicht mehr speichern.

Selbst ein simpelstes Programm, welches nur ein Zeichen in eine txt-Datei schreiben soll, funktioniert bei mir nicht, da es nicht gespeichert wird.

Zum Kompilieren habe ich schon dmc und Dev-C benutzt.

Woran kann das liegen?

Vielen Dank im Voraus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Der Compiler gibt keinerlei Fehlermeldung aus.

In Linux hat es ja auch funktioniert.

Speichern möchte ich in C:/Ordner

Den Ordner habe ich selbst erstellt, da dürfte es ja keine Probleme geben.

Der ursprüngliche Code ist etwas komplex.

Ich habe mal ein sehr einfaches Programm geschrieben:

...

int main() {

FILE *data;

data = fopen("Datei.txt", "r+");

int c = 'a';

fputc(c, data);

fclose(data);

}

Hier bleibt die Datei seltsamerweise unverändert.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Habe gerade eben etwas herausgefunden:

Öffne ich die Datei mit fopen(..., "w") so schreibt er die Datei und fügt auch in dem Beispiel den Buchstaben ein.

Mit den Schreibrechten dürfte es also kein Problem geben.

Wieso funktioniert denn dann aber "r+" nicht?

Habt ihr eine Idee?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe es gelöst, wenn ich es auch nicht verstehe.

Die Datei existierte natürlich vorher schon, "r+" ist ja ein Lesemodus.

Wenn ich über Rechtsklick->Neu->txt-Datei im Explorer eine Datei erstelle und dann das Programm laufen lasse, funktioniert es nicht.

Erstelle ich jedoch zuerst mit einem Programm mit fopen(..., "w") eine txt-Datei und lasse dann das Programm mit "r+" laufen, so funktioniert es komischerweise.

Jetzt kann ich die Datei auch mit dem Editor bearbeiten und es funktioniert trotzdem noch.

Seltsam, oder?

Vielen Dank für die Hilfe!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du hast Recht. Die Speicherungsdatei, die ich aus Linux herübergezogen habe, besaß keine Änderungsrechte. Da bin ich jedoch nicht drauf gekommen.

Wusste auch bis eben noch nicht, das es dafür bei Windows 7 in den Dateieigenschaften einen eigenen Reiter gibt (Habs erst neu).

Vielen Dank nochmal

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...