strncpy

文字列をn文字コピー

【書式】
#include <string.h>
char *strncpy(char *s1, const char *s2, size_t n);

【説明】
文字型配列 *s1 に文字列 *s2 を先頭から n 文字コピーします。
@ s2 の長さが n 以上のときには n 文字をコピーしますが、このときに '\0' の自動付加は行わないので注意が必要です
A s2 の長さが n より少ない場合には残りの文字を '\0' で埋めます。
もし、s1 と s2 が重なっている場合には動作は未定義となります。

【引数】
char *s1 : 複写先の文字型配列
const char *s2 : 複写する文字列
size_t n : 複写文字数

【戻り値】
s1の値。つまり返却値はコピー後の文字列を指す。

【使用例】
#include <stdio.h>
#include <string.h>

int main(void)
{
    char str1[] = "ABCDEFGHI";
    char str2[] = "12345";

    strncpy(str1, str2, 3);  /* @s2の長さがn以上のとき */
    printf("str1:%s\n", str1);
    strncpy(str1, str2, 8);  /* As2の長さがnより少ない場合 */
    printf("str1:%s\n", str1);

    return 0;
}

【実行結果例】
str1:123DEFGHI
str1:12345
【動作例】

戻る


banner
初心者のためのポイント学習C言語」
Copyright(c) 2000-2004 TOMOJI All Rights Reserved