私のコードでは、テキストファイルから128バイトのパケットを送信しています。テキストファイルからデータを読み込む必要があります(バッファを割り当てて送信する前にすべてを読むことはできません)ファイルが非常に大きくなるため)。何らかの理由で私はメモリを割り当ててもAbort 6エラーが出ます。Fred Abort 6 error
SendIndexは0として開始し、問題ではないはずの最初の送信に対して打ち切ります。
問題はstrcpyで発生します。理由はわかりません。
本当に混乱しているので、私は本当に助けに感謝します。
struct packet packingT;
packingT.header = mpHeaderT;
packingT.data = (char*) calloc(512,sizeof(char));
char* sendString = (char*)calloc(128,sizeof(char));
FILE *file = fopen(receivedStruct->fileTitle, "rb");
if(file == NULL) {
printf("Error - Can't Open File\n");
exit(0);
}
fseek(file, 128*sendIndex, SEEK_SET);
fread(sendString, 128, 1,file);
fclose(file);
// sendString[128] = '\0'; <--- Still don't know if this is needed
packingT.header->seq_num = receivedStruct->nextSeqNum;
strcpy(packingT.data, sendString);