realy desperate here.. :'(
my prog is getting data about problems (computer/electricity..ect (not real C problems)) from txt file..and every line in file has a different problem..so I made one PROBLEM problem; (object) and in my getProbDetails() function I'm getting the first line..reallocing to add one more object (creating array of problem objects) and then getting next line into the new object and so forth..(it's in a loop)
now I have a stupid problem in the line when I do "realloc" and I can't figure it out,the first loop runs but when it gets to realloc the program stops and I get a pop out window with error PLEASE help pps!! :confused:

typedef struct
{
.......
} PROBLEM;
typedef PROBLEM *ProbPtr;
void main()
{
__int probSize=1; //num of broblems
__int *probSizePointer; //pointer to num of broblems
__probSizePointer=&probSize;
__ProbPtr pProblem;
__PROBLEM arrProb; //the first problem object
__pProblem=&arrProb;
__getProbDetails(&pProblem,probSizePointer);
}
int getProbDetails(ProbPtr *pProblem, int *psize)
{
__STRING temp;
__ProbPtr ptr; //temp for new address after realloc
__........
__i=0;
__do
__{
_____fscanf(myfile,"%d",&(*pProblem+i)->probDate.day);
_____.....
/*MY PROG STOPS HERE SO I THINK THE PROBLEM IS IN THE REALLOC*/
_____if((ptr=(ProbPtr)realloc(*pProblem,(*psize+1)*sizeof(PROBLEM)))==NULL)
____{
________printf("Not enough memory ");
________return 0;
_____}
_____*pProblem=ptr;
_____(*psize)++;
_____i++;
__}while (!feof(myfile));
__flag=1; //file was read
__return (flag);
}

Edited 7 Years Ago by arcticM: n/a

Amazing. You took the time to add underscores so that your formatting wasn't lost and didn't bother to look for some kind of forum tag that would preserve it for you?

>PLEASE help pps!!
Here's a hint: realloc only works on memory that was previously returned by malloc, calloc, or realloc.

Here's a hint: realloc only works on memory that was previously returned by malloc, calloc, or realloc.

Thanks a lot!!! it worked!!! my stupid book said nothing about it I could have hit my head against the wall for another year!!!:confused:
THANK YOU!!:icon_cheesygrin:

This question has already been answered. Start a new discussion instead.