😸

[C] strncpy 関数

に公開

機能

文字列を指定した長さだけコピーする関数。コピー先には終端の'\0'が保証されない場合があるので注意。[1]

使用例

Hello と表示する

\n は改行を表す エスケープシーケンス[2]

コード

char dst[10];
strncpy(dst, "Hello", 10);
printf("%s\n", dst);
全文
#include <stdio.h>
#include <string.h>
void main() {
    char dst[10];
    strncpy(dst, "Hello", 10);
    printf("%s\n", dst);
}

実行結果

Hello

"World" を変数から表示する

コード

char src[] = "World";
char dst[10];
strncpy(dst, src, 10);
printf("%s\n", dst);
全文
#include <stdio.h>
#include <string.h>
void main() {
    char src[] = "World";
    char dst[10];
    strncpy(dst, src, 10);
    printf("%s\n", dst);
}

実行結果

World
脚注
  1. strncpyは文字列終端文字'\0'よりも小さいサイズなら終端保証されるが、そうでない場合は'\0'が自動挿入されない。 ↩︎

  2. 改行やタブなど、画面に表示されない制御文字のこと。 ↩︎

Discussion