CaCao
24/03/2008, 14:14
slm arkadaslar
bu programda binary ye yazilanlari ekranda display etmeye calisiyorum ama programda hata veriyor
isaretledigim yerde hata var bulamadim
yardim ederseniz sevinirim
void displayfile (char filename[])
{
FILE *fp;
// char name[NAMESIZE]; // name to be written to 2nd text file
cd_t cdtitle;
cd_t type;
cd_t composer;
cd_t numpieces;
// Open file
fp = fopen (BINFILE, "rb");
if (fp == NULL)
{
printf ("Cannot open file %s.\n", filename);
exit (EXIT_FAILURE);
}
printf ("Contents of %s:\n", filename);
// Read file line by line
//hata burda ***************************************
fread (cd.cdtitle, sizeof(cd.cdtitle), 1, fp); // Write to binary file
fread (cd.cdtype, sizeof(cd.cdtype), 1, fp); // Write to binary file
fread (cd.composer, sizeof(cd.composer), 1, fp); // Write to binary file
fread (cd.numpieces, sizeof(cd.numpieces), 1, fp);
while ( !feof(fp) )
{
printf ("%-24s %-24s %-24s %8d\n",cd.cdtitle,cd.cdtype,cd.composer,cd.numpieces); // Display line
fread (cd.cdtitle, sizeof(cd.cdtitle), 1, fp); // Write to binary file
fread (cd.cdtype, sizeof(cd.cdtype), 1, fp); // Write to binary file
fread (cd.composer, sizeof(cd.composer), 1, fp); // Write to binary file
fread (cd.numpieces, sizeof(cd.numpieces), 1, fp);
}
// Close file
fclose (fp);
} // end displayfile
bu programda binary ye yazilanlari ekranda display etmeye calisiyorum ama programda hata veriyor
isaretledigim yerde hata var bulamadim
yardim ederseniz sevinirim
void displayfile (char filename[])
{
FILE *fp;
// char name[NAMESIZE]; // name to be written to 2nd text file
cd_t cdtitle;
cd_t type;
cd_t composer;
cd_t numpieces;
// Open file
fp = fopen (BINFILE, "rb");
if (fp == NULL)
{
printf ("Cannot open file %s.\n", filename);
exit (EXIT_FAILURE);
}
printf ("Contents of %s:\n", filename);
// Read file line by line
//hata burda ***************************************
fread (cd.cdtitle, sizeof(cd.cdtitle), 1, fp); // Write to binary file
fread (cd.cdtype, sizeof(cd.cdtype), 1, fp); // Write to binary file
fread (cd.composer, sizeof(cd.composer), 1, fp); // Write to binary file
fread (cd.numpieces, sizeof(cd.numpieces), 1, fp);
while ( !feof(fp) )
{
printf ("%-24s %-24s %-24s %8d\n",cd.cdtitle,cd.cdtype,cd.composer,cd.numpieces); // Display line
fread (cd.cdtitle, sizeof(cd.cdtitle), 1, fp); // Write to binary file
fread (cd.cdtype, sizeof(cd.cdtype), 1, fp); // Write to binary file
fread (cd.composer, sizeof(cd.composer), 1, fp); // Write to binary file
fread (cd.numpieces, sizeof(cd.numpieces), 1, fp);
}
// Close file
fclose (fp);
} // end displayfile