日期:2014-05-16  浏览次数:20551 次

UNIX下合并文件
这样一个题,有五个目录,在每个目录下有若干个文件,要求在UNIX下用C把这些文件合并一起,即生成一个新的文件,还有统计出原来的每个文件的行数。
本人菜鸟一只,只会把两个文件用ln   连结,这个怎么也想不出来了。谁能帮帮我阿,定将感激涕零!

------解决方案--------------------
1. 创建一个目标文件, fopen( "name ", "w ");
2. 遍历目录, opendir() readdir()
3. 在2的过程中, 打开每个文件, 计算行数保存, 并把内容复制到目标文件, dup(), fdopen();
4. 善后处理.
------解决方案--------------------
一楼是对的,用shell更快
#!/bin/sh
for i in */*; do
wc -l $i
cat $i > > result.txt
done

然后执行该shell
------解决方案--------------------
人楼主要求是用C的.
就按我说的办, 思路告诉你了, 剩下的自己去查函数说明吧
------解决方案--------------------
OstrichFly(飞翔的鸵鸟) ,你什么意思么,我注册这个号没几天,只在这个社区发了三张帖子,你为什么说我发了那么多张,我只有这一个号,还不怎么上,你弄清楚说话好不阿,什么狗人,不男不女的,妈的


我告诉你,我可没时间和你理论,这个搂主是我的同学,我们一个老师说过有什么不明白的发帖,所以我们有很多同学都找到这个网站来了,我也随便就注册了,还不怎么上。请你弄清楚说话。