Loose-Info.com
Last Update 2012/07/05
TOP - C言語 - string.h - strncpy()

指定文字数の文字列をコピーします。
コピーする文字には終端文字「\0」を含みます。

 戻り値1  = strncpy(  引数1  ,  引数2  ,  引数3  )

戻り値1 :
char *
結果としての引数1を返す
引数1, 引数2 :
char *
引数2を引数1にコピーする
引数3 :
size_t
コピーする文字数
この値が引数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