Я застрял / борюсь с проблемой, которую я пытаюсь в C (Linux), используя вызовы API (только), чтобы скопировать несколько входных файлов через командную строку в один выходной файл. Я искал ответы в Интернете, но, похоже, никто не решил.
Моя программа позволяет мне указать несколько входных файлов и один выходной файл через командную строку. Например:
./archiver file1.txt file2 file3 file4 outputfile
Я читаю эти параметры, используя argc
/ argv
. По какой-то причине, когда ls -l
, ./archiver
и outputfile
имеют одинаковое количество байтов, это означает, что ни один из моих входных файлов не был скопирован в мой выходной файл, только то, что было в памяти (когда я cat outputfile
это показывает кучу таких)
Ничего из содержимого моих входных файлов отсутствует в моих выходных файлах.
Пожалуйста, не могли бы вы помочь мне, потому что после этих "" Я не знаю, что делать, я пытался прочитать по malloc()
и т. Д., Но я не знаю, как реализовать это, или если это даже уместно здесь .
Любая помощь приветствуется, спасибо за ваше время.
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;
}
Я не включил ошибки, но они есть. Спасибо за немедленный ответ.