Strcat_s und strncat_s


#1

Visual Studio empfiehlt strcat_s und strncat_s zu verwenden anstatt die Funktionen ohne das _s Suffix zu verwenden. Nun scheint es so, als gäbe es derzeit keine Implementation der Funktion in der libc auf Linux, obwohl diese Funktionen laut cppreference ja mittlerweile zum C11 Standard gehören. Weiß jemand etwas Genaueres? Ich glaube die einfachste Lösung, wenn auch nicht optimale Lösung wäre vllt. strcat_s und strncat_s auf nicht unterstützte Platformen als Macro zu implementieren…


Freu-Thread
#2

Ehrlich gesagt, machen diese Funktionen nur Sinn, um Preconditions zu checken, aber wenn diese eh immer erfüllt sind, macht es eigentlich keinen Sinn diese zu checken…


#3

Diese Funktionen sind wohl optional und gehören zum Annex K. Interessant zum Thema ist dieses Paper hier: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1967.htm Bei diesem erfährt man, dass nicht mal MS diese Funktionalität korrekt nach dem Standard implementiert. Werde ab jetzt wohl die Errors für die „unsicheren“ Funktionen abschalten…