我卡住/努力解决问题我尝试在C(Linux)使用API调用(仅)通过命令行将多个输入文件复制到一个输出文件。我已经在互联网上寻找答案,但似乎没有解决。 我的程序允许我通过命令行指定多个输入文件和一个输出文件。例如:C:复制多个文件到一个
./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;
}
我没有包括错误,但我确实有错误。感谢您立即回复。
发表一些代码,否则不可能说出什么是错的。 – 2010-12-16 22:41:51
对不起那够了吗? – donok 2010-12-16 22:48:43
我怀疑这是一项家庭作业 - 如果是的话,你应该这样标记它。你的问题很不清楚 - 我认为你很沮丧,也许你的任务已经很晚了,但请尽量清楚,以便我们知道如何提供帮助。您是否试图连接多个文件,或者您是否试图以这种方式存储它们,以便稍后可以轻松地将它们分离回原始文件中? – nategoose 2010-12-16 22:53:42