memcpy で次のエラーが発生します。コンパイルエラーは発生しませんが、私が想像する結果は得られません。これまで memcpy を使用したことがないので、単純な間違いを犯していると確信しています。以前の質問を見回しましたが、構造のあるものを見つけることができませんでした。独立変数では memcpy を使用できますが、構造体では使用できません。
誰かが私の間違いを指摘できれば、それは素晴らしいことです。
#include <stdio.h>
#include <string.h>
int main() {
struct st{
char c1[12];
char c2[32];
char c3[3];
char c4[7];
char c5[13];
char c6[5];
char c7[10];
};
struct st s;
char s1[] = "part number";
char s2[] = "j9uijd9d09fj";
char s3[] = "abc";
char s4[] = "seven";
char s5[] = "aaaaaaaa";
char s6[] = "ptype";
char s7[] = "user";
memcpy(s.c1,s1,sizeof(s.c1));
memcpy(s.c2,s2,sizeof(s.c2));
memcpy(s.c3,s3,sizeof(s.c3));
memcpy(s.c4,s4,sizeof(s.c4));
memcpy(s.c5,s5,sizeof(s.c5));
memcpy(s.c6,s6,sizeof(s.c6));
memcpy(s.c7,s7,sizeof(s.c7));
printf("%s\n",s.c1);
printf("%s\n",s.c2);
printf("%s\n",s.c3);
printf("%s\n",s.c4);
printf("%s\n",s.c5);
printf("%s\n",s.c6);
printf("%s\n",s.c7);
return 0;
}
私が得ている出力:
part number
j9uijd9d09fj
abcseven
seven
aaaaaaaa
ptypeuser
user
ありがとう!!!