Last Update 2012/07/05
指定文字数の文字列をコピーします。
コピーする文字には終端文字「\0」を含みます。
コピーする文字には終端文字「\0」を含みます。
戻り値1 = strncpy( 引数1 , 引数2 , 引数3 )
戻り値1 :
char *
結果としての引数1を返す
引数1, 引数2 :
char *
引数2を引数1にコピーする
引数3 :
size_t
コピーする文字数
この値が引数2の文字数を超える場合は、引数1の残りの部分は「\0」で埋められる
この値が引数2の文字数を超える場合は、引数1の残りの部分は「\0」で埋められる
(例)
#include <stdio.h>
#include <string.h>
int main()
{
char s1[10] = "abcdefghi";
char s2[10] = "1234567";
char s3[10] = "abcdefghi";
char *pc = strncpy(s1, s2, 10);
printf("strncpy() 1回目 引数1 : %s\n", s1);
printf("strncpy() 1回目 戻り値 : %s\n\n", pc);
strncpy(s1, s3, 5);
printf("strncpy() 2回目 引数1 : %s\n", s1);
return 0;
}
実行結果
strncpy() 1回目 引数1 : 1234567
strncpy() 1回目 戻り値 : 1234567
strncpy() 2回目 引数1 : abcde67