Im trying to read in integers from a binary file and then if its more than my capacity (cap) then it reallocates. but for some reason it's only printing 1 number. Here is my code and output.
outputCode:#include<stdio.h> #include<stdlib.h> int main() { int cap = 10; int *arr = malloc( sizeof(int) * cap); int i; int num_items = 0; FILE * fptr; fptr = fopen("pewp.dat", "r"); num_items = fread ( arr, sizeof(int), cap, fptr); while(num_items == cap) { cap+=10; arr = realloc(arr, sizeof(int) * cap); num_items = fread ( arr, sizeof( int ), cap, fptr ); printf("num_items = %d\n", num_items); } fclose( fptr ); printf("array = "); for( i=0; i<num_items; ++i) { printf("%d ", arr[i]); } printf("\n"); free ( arr ); return 0; }
Code:num_items = 1 array = 0



LinkBack URL
About LinkBacks



