Zum Inhalt springen

skinless

Mitglieder
  • Gesamte Inhalte

    11
  • Benutzer seit

  • Letzter Besuch

  1. Habe es schon selbst herausgefunden: #include "stdio.h" #include "stdlib.h" void schliessfunktion( FILE** data2 ) { fclose( *data2 ); } int main() { FILE* data; data = fopen("Datei.txt", "r+"); schliessfunktion( &data ); return 0; } Danke!
  2. na bei einem pointer ist &pointer die speicheradresse des pointers selbst, pointer ist die speicheradresse dessen worauf der pointer zeigt und *pointer der inhalt dessen worauf er zeigt. der compiler meckert jedoch alle drei varianten an: 1. funktion1(&data); 2. funktion1(data); 3. funktion1(*data);
  3. Hallo, ich möchte auf eine Datei aus einer Funktion heraus zugreifen, bekomme das alleine jedoch nicht hin (bzw. Frage: geht das überhaupt?). Ich möchte die Datei ungern vorher schließen und dann in der Funktion erneut öffnen, da dies ein willkürliches Speichern beinhalten würde. Ich öffne die Datei in int main() wie folgt: FILE *data; data = fopen("Datei.txt", "r+"); Nun habe ich mir gedacht, muss ich ja nun die Speicheradresse des Dateipointers an die Funktion übergeben, also so: funktion1( &data ); Jetzt habe ich meine Funktion geschrieben zum Testen: void funktion1( FILE **funktion_ptr ) { fclose( *funktion_ptr ); } Diese Funktioniert jedoch nicht. Die Fehlermeldung ist "incompatible pointer type". Vor lauter Nachdenken darüber, kriege ich es nicht mehr auf die Reihe. Wäre nett, wenn mir jemand helfen könnte. Vielen Dank für Antworten!
  4. 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
  5. 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!
  6. 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?
  7. Ich werde es auch noch einmal mit Visual Studio versuchen. Aber wieso sollte ich keine Rechte in einem selbst erstellten Ordner auf C haben? Habe auch schon "Als Administrator ausführen" versucht.
  8. 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.
  9. 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
  10. Danke. Ich hatte noch gehofft, dass es eine Möglichkeit gibt. Da ich zwei Zeilen habe, bei denen etwas angefügt wird, habe ich wohl keine andere Chance als mehrere Speicherdateien zu erstellen.
  11. Hi, Ich habe ein Problem mit fputs. Ich habe ein Programm, dass Daten zeilenweise in eine txt-Datei speichert. Ich lese nun eine Zeile aus, fuege etwas an und überschreibe dann die Zeile. Dabei tritt das Problem auf, dass immer einige Zeichen der nächsten Zeile gelöscht werden. Hat jemand eine Idee, woran das liegen kann? Schlage mich seit Tagen mit dem Problem rum.

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