kopiert Hallo Leute, ich versuche, ein Programm zu machen, welches binäre Dateien (die Werte) von der Quelle zum Ziel kopiert. aber ich habe einen fehler und ich weiß nicht wie ich das lösen soll, wie kann ich den code vervollständigen?wie man binäre Dateien in c
int main(int argc, char ** argv)
{
FILE * source, *target;
int numr, numw;
char buffer[100];
source = fopen(argv[1], "rb");
target = fopen(argv[2], "rb");
if ((source = fopen(argv[1], "rb")) == NULL)
{
printf("open read file error.\n");
return 0;
}
while (feof(source) == 0)
{
if ((numr = fread(buffer, 1, 100, source)) != 100)
{
if (ferror(target) != 0)
{
printf("read file error.\n");
return 0;
}
}
fwrite(buffer, 1, numr, target);
if ((numw = fwrite(buffer, 1, numr, target)) != numr)
{
printf("write file error.\n");
return 0;
}
}
fclose(source);
fclose(target);
return 0;
}
für eine Sache, die ich vermute, Sie wollen das Ziel öffnen mode '" wb "' ... –
Es wäre nett, wenn Sie speziell angeben, welche Fehlermeldungen Sie erhalten und wo Sie sie erhalten. – Fjotten
Außerdem öffnest du die Quelle zweimal (was kein Problem verursacht) und schreibst jeden Block zweimal (was dir ein ziemliches Problem bereiten wird). –