Einzelnen Beitrag anzeigen
Alt 12.03.2006, 21:52   #14 (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

Dieses "%03d" ist ein Formatspezifizierer(oder so ähnlich). Die Funkton kann beleibig viele Parameter aufnehmen, wobei der erste der buffer in den geschrieben werden soll und der zweite der Formatstring sein muss. Der Rest sind Variablen, die man verwenden möchte. Die mit %-Zeichen eingeleiteten Platzhalter zeigen der Funktion an, an welcher Stelle eine Variable eines bestimmten Typs soll. Unterschiedliche Zeichen bedeuten Unterschiedliches.
%c steht z.b für einen char-Buffer(string), %d für einen int-Wert oder %f für einen float-Wert. Eine Auflistung findet sich hier. Bei der Frage, welche Variable zu welchem Formatspezifikator gehört geht es einfach nach der Reihenfolge. Ein Beispiel:

(printf ist analog zu sprintf, mit dem Unterschied, dass printf eine Bildschrimausgabe macht.)
(ungetestet)

Code:
char stringbuffer1[] = "Hallo";
char stringbuffer2[] = "ich bin doof";

for(int i = 1; i < 10;i++) {
   printf( "%c, %c.\nDas sage ich jetzt zum %d. Mal\n\n", stringbuffer1, stringbuffer2, i);
}
Sollte(wenn ich nicht irgendwo was falschgemacht habe) etwa das ausgeben:

Hallo, ich bin doof.
Das sage ich jezt zum 1. Mal

Hallo, ich bin doof.
Das sage ich jezt zum 2. Mal

Hallo, ich bin doof.
Das sage ich jezt zum 3. Mal

...

Ja, ich weiß, sehr sinnvoll sind meine Sätze nicht, aber das war auch nicht der Zweck der Übung...

Man kann noch verschiedene andere Sachen machen, das %03d ist z.B. eine Integer Variable, die links mit Nullen auf drei Stellen aufgefüllt wird. Hab ich verwendet, damit dann Filenamen wie file004.jpg oder file034.jpg oder file124.jpg herauskommen.

Ich hoffe ich habe geholfen!

Zarniwoop

Geändert von Zarniwoop (12.03.2006 um 21:55 Uhr)
Zarniwoop ist offline   Mit Zitat antworten