Knifflige Sache
-
Das folgende Programm erstellt im Verzeichnis „c:“ eine Textdatei mit dem Namen „test.txt“.
1.Problem
Wenn man jetzt diese Textdatei öffnen will wird solange nichts angezeigt bis das laufende Programm geschlossen wird.
2.Problem
Wenn man diese Datei mehrmals ausführt wird der Text der zuvor in die test.txt eingegeben wurde nicht überschrieben.1. Wie mache ich es das ich den Text lesen kann auch wenn das Programm läuft.
2. Wie mache ich das der text zuvor überschrieben wird
3. Wie kann ich es machen das der Benutzer den Speicherort selbst eingeben kann?#include <stdio.h>
char satz[80];
int main()
{
printf("Bitte geben Sie eine Text ein: ");
gets(satz);
freopen("c:/test.txt","a+",stdout);
printf("%s",satz);
return 0;
}Ich hoffe das Sie mir helfen können.
Mit freundlichen Grüßen
master
-
Original erstellt von <master>:
1.Problem
Wenn man jetzt diese Textdatei öffnen will wird solange nichts angezeigt bis das laufende Programm geschlossen wird.Logisch, das steht ja dann auch noch im Puffer und wird erst in die Datei geschrieben, wenn der Puffer voll ist. fflush() sollte weiterhelfen oder ein close()
Original erstellt von <master>:
2.Problem
Wenn man diese Datei mehrmals ausführt wird der Text der zuvor in die test.txt eingegeben wurde nicht überschrieben.Du verwendest ja auch "a+" für das Öffnen. Heißt ja, dass du immer an die Datei anhängst. "w+" und Konsorten sollten dir beim Überschreiben helfen...
Original erstellt von <master>:
3. Wie kann ich es machen das der Benutzer den Speicherort selbst eingeben kann?Einfach den Dateinamen einlesen lassen und dann den String an fopen() oder freopen() als arg1 übergeben, oder? Aber Achtung: "\" muss durch "\" ersetzt werden...