I have wriiten some code and I can't seem to figure out why the while the loop will not break. It just keeps looping in both the if statement and else statement. Could someone please help hash out the problem. I have tried modify data and code and have been unable to isolate the problem. Does anyone see the problem? Do you need more of the code?
Thanks in advance.
Code:
*==============================mergeBinFiles=============================
This function merges two binary files into one.
Pre: Bin File 1 & Bin File 2
Post: BinOutFile
*/
void mergeBinFiles(FILE* binFile1, FILE* binFile2, FILE** binOutFile)
{
//Local Declarations
INV_REC itemM1;
INV_REC itemM2;
INV_REC sentinel = {9999};
int mergeCnt = 0;
//Statements
printf("\nBegin File Merge:\n");
fread(&itemM1, sizeof(INV_REC), 1, binFile1);
if(feof(binFile1))
itemM1 = sentinel;
fread(&itemM2, sizeof (INV_REC), 1, binFile2);
if(feof(binFile2))
itemM2 = sentinel;
while(!feof(binFile1) || !feof(binFile2))
{
if(strcmp(itemM1.partNo, itemM2.partNo) >= 0)
{
fwrite(&itemM2, sizeof(INV_REC), 1, *binOutFile);
mergeCnt++;
fread(&itemM2, sizeof(INV_REC), 1, binFile2);
if(feof(binFile2))
itemM2 = sentinel;
}//if
else
{
fwrite(&itemM1, sizeof(INV_REC), 1, *binOutFile);
mergeCnt++;
fread(&itemM1, sizeof(INV_REC), 1, binFile1);
if(feof(binFile1))
itemM1 = sentinel;
}//else
}//while
printf("\nFiles Merged. %d items merged.\n", mergeCnt);
system("Pause");
return;
}//mergeBinFiles
could someone help please?