#include <stdio.h>
#include <string.h>
int main(void)
{
char str1[128] = {1,1,1,1,1,1,1};
char str2[] = "ab\0cde"; /* 途中に空文字のある文字列 */
int i;
printf("コピー前 中身の確認\n");
for (i=0; i<7; i++)
printf("%#x ",str1[i]);
printf("\n");
memcpy(str1, str2, 5);
printf("コピー後 中身の確認\n");
for (i=0; i<7; i++)
printf("%#x ",str1[i]);
printf("\n");
return 0;
}
【実行結果】コピー前 中身の確認 0x1 0x1 0x1 0x1 0x1 0x1 0x1 コピー後 中身の確認 0x61 0x62 0 0x63 0x64 0x1 0x1 ※ 途中に '\0' があってもコピーできる。 また、最後に '\0' を不可しない。
▼戻る▼
「初心者のためのポイント学習C言語」 Copyright(c) 2000-2004 TOMOJI All Rights Reserved