strncpy_s, wcsncpy_s
Nach oben zu string.h - Index
Header-Datei
string.h, mbstring.h
Kategorie
Routinen für Speicher- und String-Bearbeitung, Inline-Routinen
Prototyp
errno_t strncpy_s(char * _RESTRICT dest, rsize_t destmax, const char * _RESTRICT src, rsize_t n);
errno_t wcsncpy_s(wchar_t * _RESTRICT dest, rsize_t destmax, const wchar_t * _RESTRICT src, rsize_t n);
Beschreibung
Ersetzt Strncpy, mbsncpy, wcsncpy und fügt Sicherheitserweiterungen hinzu.
Kopiert die angegebene Anzahl von Bytes aus einem String in einen anderen, der bei Bedarf abgeschnitten oder aufgefüllt wird.
strncpy_s kopiert bis zu n Zeichen aus src in den String dest, der bei Bedarf abgeschnitten oder mit Nullzeichen aufgefüllt wird. Zeichen nach '\0' werden nicht kopiert. Der String dest ist möglicherweise nicht nullterminiert, wenn die Länge von src gleich destmax oder größer ist.
Bei einer Verletzung von Laufzeiteinschränkungen oder wenn keine Zeichen aus src kopiert wurden, wird dest[0] auf Null gesetzt.
Rückgabewert
strncpy_S gibt dest zurück.
Beispiel
#include <stdio.h> #include <string.h> int main(void) { char string[10]; char *str1 = "abcdefghi"; strncpy_s(string, 10, str1, 3); string[3] = '\0'; printf("%s\n", string); return 0; }
Portabilität
POSIX | Win32 | ANSI C | ANSI C++ | |
---|---|---|---|---|
strncpy_s |
+ |
+ |
+ |
+ |