Dateien erstellen in einer for-Schleife
-
Hallo,
ich versuche gerade in einer for-Schleife Dateinamen so zuerstellen, dass die letzten Zeichen vom Dateinamen die Schrittlänge der for-Schleife enthält.
z.B.:
a_filename_1.dat
a_filename_2.dat
a_filenmae_3.dat
.
.
.Kann mir jemand helfen?
Vielen Dank und viele Grüße
simsa
-
naja, in der schleife machste z.b:
... char name[256]; sprintf (name, "a_file_%d.dat", schleifenzaehler); neues_file_erzeigen (name); ...
-
hallo,
danke für deine mühe. aber was meinst du mit
neues_file_erzeigen (name); ????
viele grüße
simsa
-
Damit meint er vmtl die Funktion mit der du das von dir gewünschte File erzeugst.
Es dient lediglich als Platzhalter für den von dir noch einzufügenden Code.
-
#include <stdio.h> #include <stdlib.h> FILE *createFile(char *str){ FILE *fp; if ((fp=fopen("beispiel","w+b"))==NULL){ fprintf(stderr,"Fehler beim Öffnen der Datei\n"); return NULL; } return fp; } int main(void) { char name[256]; int schleifenzaehler = 10; FILE *fp; while(--schleifenzaehler){ sprintf(name, "a_file_%d.dat", schleifenzaehler); fp = createFile(name); if(fp==NULL) return 1; } return 0; }
weitere informationen zu fopen() findest du hier http://www.cplusplus.com/reference/clibrary/cstdio/fopen/
lg lolo
-
also das war mal nicht so doll, um genau zu sein voll madig... man sollte die datei auch wieder schließen nachdem man sie mit fopen geöffnet hat also...
noobLolo schrieb:
#include <stdio.h> #include <stdlib.h> int createFile(char *str){ FILE *fp = fopen(str, "w+b"); if(fp == NULL){ fprintf(stderr, "Fehler beim Öffnen der Datei\n"); return 0; } fclose(fp); return 1; } int main(void) { char name[256]; int schleifenzaehler = 10; int ret; while(--schleifenzaehler){ sprintf(name, "a_file_%d.dat", schleifenzaehler); ret = createFile(name); if(ret == 0) return 1; } return 0; }
hoffe das ist etwas besser
lg lolo
-
Hallo,
tut mir leid, dass ich mich umständlich formuliert habe. Es geht nicht nur darum, Files in der for-Schleife zu erzeugen, sondern auch in diese zu schreiben.
Vielleicht versteht ihr mich so besser:
static FILE *a_File; . . . for(P_step = 1e-12 ; P_step <= 1e-2 ; P_step = P_step * 10){ P=P_step; /*hier wird eine Rechnung durchgeführt ca. 1300 Datenpunkte*/ char name[256]; sprintf (name, "a_file_%e.dat", P_step); // oder P a_File = fopen(name,"w"); // So soll es eigentlich öffnen fprintf(a_File,"Druck: %e\n",P); // Dateien für Aktivierungskurven } . . .
Ich hoffe, es ist jetzt klar, was ich versuche.
Vielen Dank
simsa
-
hat sich erledigt,
ich habe die anführunszeichen noch drinne gehabt...
danke nochmals für die hilfen!!
gruß
simsa