论坛: 编程破解 标题: 有哪位高手知道用c语言写DIR命令? 复制本贴地址    
作者: dlb [dlb]    论坛用户   登录
请举列好吗?


地主 发表时间: 06/05 23:01

回复: shesh [shesh]   版主   登录
标准C写DIR?

那是不可能的,用汇编吧.

MSDN里也有

B1层 发表时间: 06/06 08:24

回复: NetDemon [netdemon]   ADMIN   登录
去本站的软件下载下载MS_DOS的源代码,就知道原版的DIR是怎样的了,不过是汇编的。你也可以直接读取FAT来实现DIR,前提是你也还是需要下载这个来知道FAT的结构。

如果是UNIX,那就太简单了,这样就可以了

代码:

int main(int argc,char *argv[])
{
DIR  *dp;
struct dirent *dirp;
if(argc !=2)
err_quit("dir name is requied);
if((dp = opendir(argv[1])) == NULL)
err_sys("can't open %s",argv[1]);
while(dirp = readdir(dp)) != NULL)
printf("%s\n",dirp->d_name);
closedir(dp);
exit(0);
}



[此贴被 NetDemon(netdemon) 在 06月06日10时45分 编辑过]

B2层 发表时间: 06/06 10:31

回复: dlb [dlb]   论坛用户   登录
啊,我做的是模拟的DIR命令
就是做一个小程序,

B3层 发表时间: 06/06 11:33

回复: shesh [shesh]   版主   登录
要是VC,更加简单了.

哈哈.

B4层 发表时间: 06/06 11:39

回复: dlb [dlb]   论坛用户   登录
我用TC呀,怎么写呀?

B5层 发表时间: 06/06 12:46

回复: dlb [dlb]   论坛用户   登录
有个用c++写的,怎样转成c语言的呢?如下:
void DIR()
{
struct find_t ffblk;
int done;
done=_dos_findfirst("*.*",_ANORMAL,&ffblk);
cout<<endl<<"FILENAME:\tSIZE:\<<endl;
while (!done)
{cout<<ffblk.name<<'\t'<<ffblk.size<<'\t'<<endl;
 done=_dos_findnext(&ffblk);
 }
cout<<endl;
}
请c高手改来参考以下


B6层 发表时间: 06/06 13:33

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号