当前位置:  技术问答>linux和unix

使用ftw遍历时的一个问题,以及du的源码从何处下载?

    来源: 互联网  发布时间:2015-07-20

    本文导语:  我希望用ftw遍历我的一个目录,以下是非常简单的一段代码: #include  #include  #include  #define MAXFILENUM 150000 int count=0; void historyCount() {          count++; } int historyFn(const char * file, const struct stat *sb, int fla...

我希望用ftw遍历我的一个目录,以下是非常简单的一段代码:
#include 
#include 
#include 
#define MAXFILENUM 150000
int count=0;


void historyCount()
{
         count++;
}

int historyFn(const char * file, const struct stat *sb, int flag)
{
if(flag==FTW_F) 
         {
historyCount();
//                printf("%sn",file);
          }
return 0;

}

void main(int argc,char **argv){
ftw("/forest/DataBase",historyFn,MAXFILENUM);
         printf("文件总数为:%dn",count);
}

执行结果为:文件总数为:2171
使用konqueror查看的结果是71,031 个文件
明显,返回的时候返回的文件个数明显小于真实的文件数目。
去掉注释行,可以看到目录遍历总是中止于某个固定的文件那儿。但是我定义的MAXFILENUM远远大于真实的文件总数

所以,我不是很清楚问题究竟出在什么地方?
请问:
1:如果是因为在linux里面定义了ftw最大的遍历数,而且这个数目比我定义的MAXFILENUM要小,那么这个linux下面的定义在哪里?还有,我试过把MAXFILENUM改成5000000等等,程序会报错,类型是Segmentation Fault。
2:使用du遍历的时候,无论系统有多少文件,都是可以遍历的,所以请问du的原理是怎样的?我也很想查看一下du的源码,但是不知道du的源码应该从哪里下载?我一直很想知道如果我想看ls、du等的源码,应该怎样从网上去查找?
3:我很想通过rpm的方式找到du所在rpm包,但是不是很清楚如何定位du在那个rpm包里面?
4:如果我放弃使用ftw,而改用opendir和readdir,是否同样会遇到无法完全遍历的问题?

在线等候

|
rpm -qf /bin/du 
使用rpm的qf参数能够查到某个文件属于哪个rpm包,然后再到rpmfind.net中找sc.rpm源码!

|
这个东西在 fileutils 里面,
去 ftp.gnu.org 去下载

    
 
 

您可能感兴趣的文章:

  • 使用GDB单步调试源码时,单步执行与源码不一致.
  • 请问如何在一个文件系统修改源码管理并使用多个卷(存储设备)
  • 新内核源码的使用
  • linux 中androd源码下载 后的.git文件的使用
  • 大家一般使用什么工具来阅读源码
  • 使用哪种cvs从sourceforge下载源码
  • 哪里能获得文本框与弹出日历联合使用的HTML源码?
  • 源码安装的软件,怎么使用哦
  • 求购使用JSP设计的网站源码
  • linux使用tar.gz源码包安装 apache 和 mysql 目录问题
  • 请问做好的驱动,发布给用户的时候,用户必须要在各自的Linux中重新编译驱动源码才能使用吗?
  • 能否在商业软件中使用一小部分GNU源码
  • 救急,新下载的 Linux 内核源码如何使用?
  • python使用正则表达式检测密码强度源码分享
  • 使用C#获取网页HTML源码的例子
  • C#中使用快速排序按文件创建时间将文件排序的源码
  • 谁有top命令的源码?如何获得cpu使用率
  • 使用Java实现系统托盘功能的介绍(附源码以及截图)
  • Android 使用Gallery实现3D相册(附效果图+Demo源码)
  • 三种获取网页源码的方法(使用MFC/Socket实现)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • nginx Windows版相关问题及使用说明
  • gcc和cc得使用问题?能互相交换使用么?
  • [请置顶]关于Linux的安装使用问题 请放到 软件使用/操作系统 里提问
  • 使用VWMARE安装linux的内存使用问题
  • 原来使用在这里:vmware中的redhat 8.0使用声卡的问题!!急
  • 几台机器做lvs,使用100M 网线连接,文件系统使用NFS共享,读写速度会出现问题吗?
  • ubuntu的问题。查看内存使用情况的问题
  • 菜鸟问题,小弟刚刚使用LINUX不久,不知道如何使用编程工具进行编译和运行!
  • 请教两个小问题:一个cgywin下使用vi的问题,另一个socket的问题
  • 弱智问题:我们怎么才知道要使用的方法需要实现什么接口才能使用这个方法呢?
  • 菜鸟问题 : 关于使用Flex的问题
  • 关于linux下QQ和代理服务器使用的问题(2个问题)
  • freebsd做前台 使用win2000做储存器问题问题(非高手免进)
  • 初学者问题(2):关于super的使用问题,请大家多多帮忙。
  • fedara13 初使用之问题
  • 关于windows下的gcc使用问题
  • 移动硬盘使用问题求解?百分相赠!!
  • 关于如何使用内核函数的问题
  • 我在使用j2sdkee1.3.1使用deploytool部署EJB时发现这样的问题
  • 急求,用户程序使用atomic的编译问题!!
  • 关于一个jbuilder使用的问题
  • C++ I/O 成员 tellg():使用输入流读取流指针
  • 在测试memset函数的执行效率时,分为使用Cash和不使用Cash辆种方式,该如何控制是否使用缓存?
  • C++ I/O 成员 tellp():使用输出流读取流指针
  • 求ibm6000的中文使用手册 !从来没用过服务器,现在急需使用它,不知如何使用! 急!!!!!
  • Python不使用print而直接输出二进制字符串
  • 请问:在使用oracle数据库作开发时,是使用pro*c作开发好些,还是使用库函数如oci等好一些啊?或者它们有什么区别或者优缺点啊?
  • Office 2010 Module模式下使用VBA Addressof
  • 急求结果!!假设一个有两个元素的信号量集S,表示了一个磁带驱动器系统,其中进程1使用磁带机A,进程2同时使用磁带机A和B,进程3使用磁带机B。
  • windows下tinyxml.dll下载安装使用(c++解析XML库)
  • c#中SAPI使用总结——SpVoice的使用方法


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3