Meine Aufgabe ist es, mehrere Binärdateien zusammenzuführen, und dann alles in eine TXT-Datei, ich habe bereits das Format der Dateien, ich habe sie bereits geschrieben, aber ich scheitere sie beim Zusammenführen. Dies ist die Funktion: Output from the binary file into the txt file.2 Binärdateien zusammenführen. Residualdaten zwischen Dateien
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;
}
Mein Schlechter dann sieht es einfach total falsch aus ... Ich werde die MS Versionen genauer überprüfen müssen. –
@ DavidC.Rankin Es funktioniert nicht, ich benutze Visual Studio 2013, FILE * ist nicht kompatibel mit Parameter des Typs FILE ** –
Ich sagte dir falsch - ich entschuldige mich. Ich nahm an, dass 'fopen' und' fopen_s' dieselben Parameter verwendeten. Ich benutze keine MS, also war ich überrascht, als whozcraig darauf hinwies, dass die 'fopen_s' eigentlich einen * Zeiger-zu-Zeiger-zu-FILE * wollten. Revert zu Ihrem ursprünglichen ... –