fprintf und leerzeichen
-
Hallo Leute,
ich habe folgendes Problem, ich möchte mit fprintf einen String in eine Datei schreiben. Das funktioniert auch solange, wie der String keine Leerzeichen enthält. Bisher sieht der Aufruf bei mir folgendermaßen aus:
fprintf(pDatei, "%s,%s,%s,%s,%d,%d,\n", pInst_aktuell -> Spielname, pInst_aktuell -> Dateiname, pInst_aktuell -> Anleitungname, pInst_aktuell -> Dateiverzeichnis, pInst_aktuell -> min, pInst_aktuell -> max);
Wie kann ich das erste %s so verändern, dass ich dort auch mehrere Worte in die Datei schreiben kann, und er danach auch noch das Komma setzt?
Eine solche geschriebene Zeile soll dann nämlich folgendermaßen aussehen:
Die tuerme von Hanoi,hanoi.exe,hanoi.txt,c:\spiele\,1,1,
-
so dürfte das gehen
printf("%*s", length, string);
-
Ich versteh dein Problem nicht. Setz pInst_aktuell->Spielname doch einfach auf "Die tuerme von Hanoi". Dann setz er das Komma danach. Du musst nur drauf acht geben, dass in pInst_aktuell->Spielname kein Komma drin ist.
-
das Problem dabei ist, dass die Länge von Zeile zu Zeile variieren kann, da ich nicht vorhersehen kann, wie die einzelnen installierten Spiele alle heißen werden...
In pInst_aktuell -> Spielename ist "Tuerme von Hanoi" drin, er schreibt das auch in die Datei, nur fügt er im Anschluss das "hanoi.exe" direkt an, ohne ein Komma zu setzen, wie er es eigentlich sollte
-
Sicher, dass pInst_aktuell->Spielename genug Platz für "Tuerme von Hanoi" + die abschließende \0 hat?