Member Avatar for arcticM

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);
}

Recommended Answers

All 3 Replies

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.

you should read the documents abt realloc before you do it right away

Member Avatar for arcticM

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:

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.