Both arrays arr and pointers are the same size.
I am having problems reading pointers from file into a new int array. Do I need to cast it somehow?
Thank you.
1 2 3 4 5 6 7 8 9 10 11
FILE* ky_pt=fopen("stashedclient","ab");
write(fileno(ky_pt), pointers, sizeof(pointers) );
pointerindex=lseek(fileno(ky_pt), 0, SEEK_CUR );
printf("pointerindex after writing array %d\n", pointerindex );
printf("size of pointers %d \n", sizeof(pointers) );
int arr[257];
printf(" size of new arr %d \n", sizeof(arr) );
pointerindex=lseek (fileno(ky_pt), -(sizeof(pointers)) , SEEK_END );
printf("about to read arr from index %d\n", pointerindex );
read(fileno(ky_pt) , arr, sizeof(arr));
You cannot save pointers to a file because when you load the file your program's memory layout will be different and the data those pointers pointed to will have been gone for eons.