Du bist nicht angemeldet.

Werbeanzeige

Schrompf

Alter Hase

Beiträge: 1 318

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

751

11.03.2019, 10:16

Gerade in nem Pull Request gesehen

Quellcode

1
size_t len = snprintf(nullptr, 0, "%s", someString.c_str());


Was beweist, dass auch wirklich kluge Entwickler mit Jahrzehnten an Erfahrungen gelegentlich nen Aussetzer haben.
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

GolWinStu

Treue Seele

Beiträge: 338

Wohnort: Heidelberg

Beruf: Softwareentwickler, Vertriebler

  • Private Nachricht senden

752

11.03.2019, 17:25

das bedeutet was?

753

11.03.2019, 18:46

Es bestimmt die Länge des Strings :P

Nox

Supermoderator

Beiträge: 5 267

Beruf: Student

  • Private Nachricht senden

754

11.03.2019, 20:46

Unter Beachtung einer möglichen (Re)codierung afaik. Sprich u.U. kann das glaube schon sinnvoll sein, oder übersehe ich was?
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Schrompf

Alter Hase

Beiträge: 1 318

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

755

11.03.2019, 20:58

Ne, die printf()-Familie wiederholt nur Zeichen für Zeichen und setzt Argumente anstelle eines '%' ein. Das war wirklich nur ein Denkfehler, der wahrscheinlich stufenweise entstanden ist, weil darunter ein char buf[len] angelegt wurde und darin dann das wirkliche printf() passiert ist.
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

Nox

Supermoderator

Beiträge: 5 267

Beruf: Student

  • Private Nachricht senden

756

11.03.2019, 21:07

Zitat von »http://www.cplusplus.com/reference/cstdio/snprintf/«

If the resulting string would be longer than n-1 characters, the remaining characters are discarded and not stored, but counted for the value returned by the function.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Werbeanzeige