Einzelnen Beitrag anzeigen
Alt 08.02.2006, 18:37   #7 (permalink)
Zarniwoop
Overclocker
 
Benutzerbild von Zarniwoop
 

Registriert seit: 18.10.2004
Beiträge: 267

Zarniwoop wird schon bald berühmt werden

Standard AW: C++ Problem mit Dateien

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

Geändert von Zarniwoop (08.02.2006 um 18:45 Uhr)
Zarniwoop ist offline   Mit Zitat antworten