Ich stehe fest/kämpfe mit einem Problem Ich versuche in C (Linux) mit API-Aufrufe (nur) mehrere Eingabedateien über die Befehlszeile in eine Ausgabedatei zu kopieren. Ich habe im Internet nach Antworten gesucht, aber keine scheint zu lösen. Mein Programm erlaubt mir, mehrere Eingabedateien und eine Ausgabedatei über die Befehlszeile anzugeben. Zum Beispiel:C: mehrere Dateien in einen kopieren
./archiver file1.txt file2 file3 file4 outputfile
las ich diese Parameter argc
/argv
verwenden. Aus irgendeinem Grund, wenn ich mache ls -l
, ./archiver
und outputfile
haben die gleiche Anzahl von Bytes, was bedeutet, keine meiner Eingabedateien wurden in meine Ausgabedatei kopiert, nur was auch immer im Speicher war (wenn ich mache cat outputfile
zeigt es eine Reihe von diesen)
Keiner der Inhalte aus meinen Eingabedateien befindet sich in meinen Ausgabedateien.
Bitte können Sie mir helfen, da nach dem Bündel von "" Ich weiß nicht, was zu tun Ich habe versucht, auf malloc()
etc. lesen, aber ich weiß nicht, wie das implementieren oder wenn das sogar relevant ist hier.
Jede Hilfe wird geschätzt, danke für Ihre Zeit.
file_desc_in = open(argv[i],O_RDONLY,0);
//NEED a loop to copy multiple files in...
while (!eof) {
bytes_read = read(file_desc_in, &buffer, sizeof(buffersize));
if (bytes_read > 1)
bytes_written = write(file_desc_out, &i, bytes_read);
else {
eof=1;
}
Ich habe die Fehler nicht enthalten, aber ich habe sie. Danke für die sofortige Antwort.
Post ein wenig Code, sonst ist es unmöglich zu sagen, was los ist. –
Entschuldigung Ist das genug? – donok
Ich vermute, dass dies eine Hausaufgabe ist - wenn ja, solltest du sie als solche markieren. Ihre Frage ist sehr unklar - ich denke, dass Sie frustriert sind und vielleicht ist Ihre Aufgabe bereits zu spät, aber bitte versuchen Sie, klar zu sein, damit wir wissen, wie Sie helfen können.Versuchen Sie, mehrere Dateien miteinander zu verknüpfen, oder versuchen Sie, sie so zu speichern, dass Sie sie später einfach wieder in den Originaldateien trennen können? – nategoose