strncpy_s、wcsncpy_s

提供: RAD Studio
移動先: 案内検索

string.h:インデックス への移動



ヘッダー ファイル

string.h、mbstring.h

カテゴリ

メモリおよび文字列操作ルーチン、インライン ルーチン

プロトタイプ

errno_t strncpy(char * _RESTRICT dest, rsize_t destmax, const char * _RESTRICT src, rsize_t n);

errno_t strncpy(wchar_t * _RESTRICT dest, rsize_t destmax, const wchar_t * _RESTRICT src, rsize_t n);

説明

Strncpy、mbsncpy、wcsncpy の代わりとなるもので、セキュリティ機能が強化されています。

1 つの文字列から別の文字列へ、指定されたバイト数をコピーします。その際に、必要であれば値を切り詰めたり埋めたりします。

strncpy_s は、src から dest へ最大 n 文字をコピーします。その際に、dest を切り詰めたり NULL で埋めたりします。 '\0' の後に出てくる文字はコピーされません。 src の長さが maxlen 以上であれば、コピー先文字列の dest に NULL 終端文字は含められません。

実行時制約の違反が起きるか、src から文字がまったくコピーされなかった場合には、dest[0] が NULL に設定されます。

戻り値

strncpydest を返します。

#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;
}

移植性

POSIX Win32 ANSI C ANSI C++

strncpy_s

+

+

+

+

関連項目