내 코드에서 텍스트 파일의 각 128 바이트 패킷을 보내고 텍스트 파일에서 데이터를 읽어야합니다 (버퍼를 할당하고 전송하기 전에 읽을 수는 없습니다) 파일이 매우 크기 때문에). 어떤 이유로 메모리를 할당 한 경우에도 Abort 6 오류가 발생합니다.Fread Abort 6 오류
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);