LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 865|回复: 1

一个ls的模拟程序..

[复制链接]
发表于 2003-5-30 11:15:02 | 显示全部楼层 |阅读模式

  1. #include <stdio.h>
  2. #include <io.h>
  3. #include <time.h>
  4. #include <string.h>

  5. int main(int argc, char* argv[])
  6. {
  7.     struct _finddata_t c_file;
  8.     long hFile;
  9.         char ms[256];

  10.         if (argc == 1)
  11.                 strcpy(ms, "*.*");
  12.         else
  13.                 strcpy(ms, argv[1]);


  14.     /* Find first file in current directory */
  15.     if( (hFile = _findfirst( ms, &c_file )) == -1L )
  16.        printf( "No %s files in current directory!\n", ms );
  17.         else
  18.         {
  19.             printf( "Listing of %s files\n\n", ms );
  20.             printf( "\nRDO HID SYS ARC  FILE         DATE %25c SIZE\n", ' ' );
  21.             printf( "--- --- --- ---  ----         ---- %25c ----\n", ' ' );
  22.             printf( ( c_file.attrib & _A_RDONLY ) ? " Y  " : " N  " );
  23.             printf( ( c_file.attrib & _A_SYSTEM ) ? " Y  " : " N  " );
  24.             printf( ( c_file.attrib & _A_HIDDEN ) ? " Y  " : " N  " );
  25.             printf( ( c_file.attrib & _A_ARCH )   ? " Y  " : " N  " );
  26.             printf( " %-12s %.24s  %9ld\n",
  27.                c_file.name, ctime( &( c_file.time_write ) ), c_file.size );

  28.                         /*if (c_file.attrib & _A_DIR)
  29.                         {
  30.                                 chdir(c_file.name);
  31.                                 ...
  32.                         }*/

  33.             /* Find the rest of the other files */
  34.             while( _findnext( hFile, &c_file ) == 0 )
  35.             {
  36.                 printf( ( c_file.attrib & _A_RDONLY ) ? " Y  " : " N  " );
  37.                 printf( ( c_file.attrib & _A_SYSTEM ) ? " Y  " : " N  " );
  38.                 printf( ( c_file.attrib & _A_HIDDEN ) ? " Y  " : " N  " );
  39.                 printf( ( c_file.attrib & _A_ARCH )   ? " Y  " : " N  " );
  40.                 printf( " %-12s %.24s  %9ld\n",
  41.                    c_file.name, ctime( &( c_file.time_write ) ), c_file.size );
  42.             }

  43.        _findclose( hFile );
  44.    }

  45.    return 0;
  46. }
复制代码

我老师写的,有点意思...最初用vc写的,我想把它用gcc编译看看.
想问一下,linux下有struct _finddata_t吗,谁能介绍一下.
发表于 2003-5-30 21:20:16 | 显示全部楼层
没有
你写的话要知道的函数应该有
opendir
readdir
closedir

fstat
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表