Ödevim birden fazla ikili dosyayı birleştirmek ve daha sonra bir txt dosyasına yerleştirmek, zaten dosya formatına sahip olmak, bunları zaten yazdım, ancak bunları birleştiremedim. Output from the binary file into the txt file.2 ikili dosyayı birleştirme. Dosyalar arasında kalan veriler
int merge_files()
{
FILE *f1, *ft;
char ch, name1[20];
int error, n;
char buffer[10000];
printf("\n Give name of file: "); gets_s(name1, 19);
while (strlen(name1) != NULL)
{
fopen_s(&f1, name1, "rb");
fopen_s(&ft, "finaldata.dat", "a");
if (!f1)
{
error = 1;
break;
}
else
{
error = 0;
rewind(f1);
while (n = fread(buffer, sizeof(char), 10000, f1))
{
fwrite(buffer, sizeof(char), n, ft);
fflush(ft);
}
}
fclose(f1);
fclose(ft);
printf("Files had been merged");
printf("\n Give name of file: "); gets_s(name1, 19);
}
return error;
}
Kötü durumdayım, o zaman tamamen yanlış görünüyor ... MS sürümlerini daha yakından kontrol etmeliyim. –
@ DavidC.Rankin Çalışmıyor, Visual Studio 2013 kullanıyorum, FILE * FILE ** –
türünde bir parametre ile uyumlu değil Yanlış söyledim - Özür dilerim. "Fopen" ve "fopen_s" ın aynı parametreleri aldığını farz ettim. MS kullanmıyorum, bu yüzden whozcraig 'fopen_s' işaret ettiğinde aslında bir * işaretçi-işaretçi-FILE * istediğinde şaşırdım. Orijinalinize geri dönün ... –