CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

圣经也骗人,如之奈何!

楼主javaname46(javaname43)2006-07-03 08:32:32 在 C/C++ / C语言 提问

#include   "apue.h"  
  #include   <dirent.h>  
   
  int   main(int   argc,char   *argv[])  
  {  
          DIR   *dp;  
          struct   direct   *dirp;  
         
          if(argc!=2)  
                  printf("usage   :   ls   directory_name");  
          if((dp=opendir(argv[1]))==null)  
                  printf("can't   open   %s",argv[1]);  
          while((dirp=readdir(dp))!=NULL)  
                  printf("%s\n",dirp->d_name);  
                 
          closedir(dp);  
  }  
   
   
   
  [root@lideyong   c]#   gcc   -o   myls   myls.c  
  myls.c:1:18:   apue.h:   没有那个文件或目录  
  myls.c:   In   function   `main':  
  ................................................................  
   
  我的系统是Red   Hat   9.0  
  这是《Unix环境高级编程》第二版的第一个例子,就出错。apue.h在整个系统里搜索了一遍都没有找到这个文件。  
  不是说Unix系统和Linux系统是通用的吗?我被骗了................555555555  
  问题点数:10、回复次数:5Top

1 楼yingge(...木脑壳...)回复于 2006-07-03 09:02:08 得分 4

抄书都如此不仔细,连NULL都可以写成null(java过来的?),dirent写成direct。都不知道怎么说你好了  
   
  #include   <dirent.h>  
  #include   <stdio.h>  
   
  int   main(int   argc,char   *argv[])  
  {  
          DIR   *dp;  
          struct   dirent   *dirp;  
         
          if(argc!=2)  
                  printf("usage   :   ls   directory_name");  
          if((dp=opendir(argv[1]))==NULL)  
                  printf("can't   open   %s",argv[1]);  
          while((dirp=readdir(dp))!=NULL)  
                  printf("%s\n",dirp->d_name);  
                 
          closedir(dp);  
  }  
   
  Top

2 楼javaname46(javaname43)回复于 2006-07-03 09:36:23 得分 0

不好意思,那些我都没有看,因为我看到第一个错误找不到apue.h我就觉得没办法往下走了。Top

3 楼javaname46(javaname43)回复于 2006-07-03 09:37:08 得分 0

请问apue.h在Red   Hat   Linux里是不是没有?Top

4 楼zez(思恩 闭关练功ing...)回复于 2006-07-03 09:41:48 得分 3

学书不要学死了..  
   
  不知道   qpue.h   是什么.   你系统里面没有有什么奇怪的?   unix   和     linux   并不是完全通用了,而且版本不同,有可能很多东西就不同..   linux   只保证   兼容linux吧.好像没说完全兼容任何版本的unix?   要知道,unix也有很多很多不同的版本,肯定会有不同的..   否则,还有那么多版本干嘛..  
   
  你学习是为了学知识.  
  看你的程序是对目录操作.那就就搜一下,你的系统里对应目录操作函数的头文件是什么??  
  找到不就行了..  
   
  楼上告诉你了,   就是     dirent.h   ,比   qpue   不好理解多了..  
  你有功夫去搜   qpue.h    
  怎么就没功夫去搜一下   opendir   在哪个头文件呢??Top

5 楼rexking0(风之彩)回复于 2006-07-03 09:49:04 得分 3

看到这#include   "qpue.h"应该就是自己定义的头文件,应该在书上看看,在那里有这个头文件的说明。Top

相关问题

关键词

得分解答快速导航

  • 帖主:javaname46
  • yingge
  • zez
  • rexking0

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo