strncpy |
| ||||
strncpy | |
ヘッダ | #include <string.h> |
形 式 | char *strncpy(char *s1, const char *s2, size_t n); |
機 能 | s2が指す文字列を、s1が指す配列にコピーする。s2の長さがn以上の場合はn文字までをコピーし、nより短い場合は残りをナル文字で埋め尽くす。コピー元とコピー先が重なる場合の動作は未定義とする。 |
返却値 | s1の値を返す。 |
#include <string.h> char *strncpy(char *s1, const char *s2, size_t n) { char *p = s1; while (n) { n--; if (!(*s1++ = *s2++)) break; /* '\0'を見つけたら終了 */ } while (n--) *s1++ = '\0'; /* 残りを'\0'で埋める */ return (p); }