0

文字バッファー -char buff[1000]を使用strncpyして、最初の 16 文字を読み取ってリストの一部として保存し、次の 24 文字を読み取ってリストの別の部分として保存しようとしています。ただし、2 回呼び出すとstrncpy、2 回目strncpyは、最初のstrncpy.

        char buff[1000];
 14     struct List list;
 15     initList(&list);
 16 
 17     struct Node *node = NULL;
 18     while (!feof(myf) == 1){
 19         fread(buff, 40, 1, myf);
 20         struct MdbRec *newRec;
 21         newRec = (struct MdbRec *)malloc(sizeof(struct MdbRec));
 22         if (newRec == NULL){
 23            exit(1);
 24         }
 25         strncpy(newRec->name, buff, 16);
 26         strncpy(newRec->msg, buff, 24);
 27 
 28         node = addAfter(&list, node, newRec);

これを修正するにはどうすればよいですか? ありがとう!!!

4

1 に答える 1