Datei extern anlegen.
-
Hi,
Ich muss in C eine datei anlegen, wo namen, datum, und eine nummer reingespeichert werden muss.
Theoretisch wie eine Liste mit darin enthaltenen daten.thx code
-
Ich muss in C eine datei anlegen
Und warum fragst du dann nicht im ANSI-C Forum?
Wir haben hier außerdem sowohl für C als auch für C++ einen FAQ-Beitrag zum Thema Dateien.
C: Dateien öffnen und schreibenC++: Ströme und Dateien in C++
-> ANSI-C
-
Dein Vorhaben ist ganz einfach zu realisieren...
FILE *dateizeiger; //Ein Dateizeiger wird erstellt der den namen "dateizeiger" trägt dateizeiger = fopen("MeineDaten.txt", "w+"); // dem dateizeiger wird über den Befehl fopen (file open) der parameter für den Dateinamen sowie die Anweisund "w+" (schreiben und falls schon was vorhanden vor dem schreiben löschen) angegeben fprintf(dateizeiger, "%d", EineIntVariable); //der befehl fprintf bekommt die parameter dateizeiger (damit er weis in welche datei er schreiben soll, %d für die Variable, und der name der Variable "EineIntVariable" fclose(dateizeiger); //hier wird die datei geschlossen
Markiere mal im compiler im Quelltext das wort "fopen" und drücke F1 um weitere Hilfe für die w+ w, r, r+ etc zu bekommen. das ist nämlich je nachdem was du grade machen willst, derbst wichtig.
Ich hoffe ich konnte dir helfen.[ Dieser Beitrag wurde am 17.01.2003 um 09:25 Uhr von Peter Piksa editiert. ]
-
Original erstellt von Peter Piksa:
[QB]Markiere mal im compiler im Quelltext das wort "fopen" und drücke F1 um weitere Hilfe für die w+ w, r, r+ etc zu bekommen. das ist nämlich je nachdem was du grade machen willst, derbst wichtig.
Ich hoffe ich konnte dir helfen.
[QB].. so du das visual studio als entwicklungsumgebung benutzt ..
-
Tag
eigentlich ist alles gesagt doch die *.txt sollte mit im verzeichniss liegen! Also ich habe es nicht geschafft eine Datei zu öffnen die nicht im Arbeitsverzeichniss liegt!(Vielleich geht das ja aber wenn ????? ) Und falls die Datei nicht exestiert entstehen keine
Fehler nur das pf einen Null wert zurück gibt den du dann Überprüfen kannst!!Wenn du "w" zum öffnen wird die Datei neu angelegt allerdings auch überschrieben vorsicht
ich würde immer so arbeiten
int zahl;
char str1[30];
char str2[30];FILE *pf
pf = fopen("liste.txt","r+");If (!pf)
{
printf("Fehler");
exit(1);
}fprintf(pf,"Hallo Welt %d",zahl);
fscanf(pf,"%s %s %d",str1,str2,&zahl);
-
Hallo,
also wenn du eine Datei ausserhalb des aktuellen Arbeitsverzeichnisses anlegen willst, dann könnte man das so realisieren:#include <stdio.h> int main() { FILE* fp_Datei; if( ( fp_Datei = fopen( "C:\\Programme\\test.txt", "w" ) ) == NULL ) { fprintf( stderr, "Es lief doch tatsaechlich was schief :( \n" ); exit( 0 ); } else fprintf( fp_Datei, "Hello World! Ich werd gerade benutzt ;)" ); return( 0 ); }
Wichtig sind hierbei die doppelten "\". Wenn du eines weglässt, dann geht der Compiler davon aus, das du eventuell eine Escape-Sequenz einleiten willst
edit: kleine Rechtschreibfehlerz
[ Dieser Beitrag wurde am 17.01.2003 um 18:37 Uhr von guard editiert. ]