私は、複数の入力ファイルをコマンドラインで1つの出力ファイルにコピーするために、C(Linux)でAPI呼び出しを使用しているときに問題を抱えています。私は答えをインターネットで検索しましたが、解決するものはありません。 私のプログラムでは、複数の入力ファイルと1つの出力ファイルをコマンドラインで指定することができます。たとえば:C:複数のファイルを1つにコピーする
./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;
}
私はエラーを含んでいませんが、私はそれらを持っています。すぐに返信いただきありがとうございます。
いくつかのコードを投稿してください。そうでなければ、何が間違っているかを知ることは不可能です。 –
申し訳ありません十分ですか? – donok
私はこれが宿題の割り当てだと思っています。もしそうなら、そのようにタグ付けするべきです。あなたの質問は非常に不明です - 私はあなたが不満を持っていると思います。あなたの任務はすでに遅れているかもしれませんが、私たちが助けを知るように明確にしてください。いくつかのファイルを連結しようとしているのですか?それとも後で簡単に元のファイルに戻すことができるように保存しようとしていますか? – nategoose