Also wenn du Zahlen in einem Dateinamen einbauen willst, dann geht das auch mit sprintf():
Code:
int filenumber = 1;
char filename[20];
sprintf(filename, "pics/file001.jpg" );
FILE * test;
while( (test=fopen(filename, "r")) ){
fclose(test);
filenumber++;
sprintf(filename, "pics/file%03d.jpg", filenumber);
if(filenumber>999) {
break;
}
}
write_jpeg_file(filename, 100); Obiges Codebeispiel aus einem Projekt von mir sucht in dem Verzeichnis /pics nach der Datei filexxx.jpg wo xxx am größten ist. Beim neuen Dateinamen ist die Zahl dann eins höher.
write_jpeg_file() ist eine Funktion die eine JPEG erstellt, kannst du natürlich ignorieren.
sprintf macht dasselbe wie printf, nur dass es in einen string schreibt und nicht auf die Ausgabe. sprintf und printf sind zwar eigentlich aus C, funktionieren aber in C++ genauso.
edit: Ich habe gerade versucht deinen Code entsprechend umzuschreiben, aber irgendwie ist mir das nicht ganz gelungen.
Diese beiden Zeilen:
Code:
char Feld[80]="c:\\"+"3302"+"08"+"02"+".005";
char *datei="zeit"+".txt";
kannst du nämlich ersetzen durch
Code:
char Feld[80]="c:\\33020802.005";
char datei[80]="zeit.txt";
da du hier ja keine Variablen verwendest.
Zarniwoop