Hallo zusammen, ich habe ein Problem mit _snprintf. Wenn Message besteht aus '%' funktionniert nicht. Kann jemanden mir helfen diesen Fehler zu beheben? char Buffer[1024] = ""; string Message ="hello%World"; _snprintf(Buffer, sizeof(Buffer), "%s", Message.c_str());
Louisa schrieb: > funktionniert nicht. und was heist das? Geht das Licht aus, wird er Kühlschrank warm? Stürzt der PC ab?
_snprintf ist keine Standardfunktion. Du müsstest also schon noch dazu schreiben, welche Bibliotheksimplementierung du hier benutzt.
Mit GCC unter Linux und sprintf anstelle von _sprintf funktioniert der Code perfekt. _sprintf ist von Microsoft und eine Erweiterung zu C++98 (deswegen der Underscore). Da in C++11 snprintf standardmässig enthalten ist, solltest du den Underscore mal versuchsweise weglassen. Vielleicht gibt es ja einen semantischen Unterschied zwischen den beiden Funktionen. Oder der eigentliche Fehler liegt ganz woanders im Programm. Dazu müsstest du mal ein komplettes, kompilierfähiges Programm posten. Roki schrieb: > Du musst das % escapen Das ist nur in Formatstrings so. In gewöhnlichen Strings hat das Prozentzeichen keine besondere Bedeutung.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.