用c语言写DIR命令,请高手指教呀!

Dtoo 2003-06-06 01:44:31
有个用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高手改来参考以下
...全文
199 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
021850524 2003-06-07
  • 打赏
  • 举报
回复
不过你要是写能察看子目录的时候还要注意..和.这两个目录.
我开始就没注意这个,在这两个目录上绕了一个大圈子.
idontlikenickname 2003-06-06
  • 打赏
  • 举报
回复


昏倒~~~

DanielWYO 2003-06-06
  • 打赏
  • 举报
回复
void DIR(void)
{
system("dir");
}











呵呵, 开个玩笑
pzytony 2003-06-06
  • 打赏
  • 举报
回复

c好像没有库函数对应,从底层写比较困难
Dtoo 2003-06-06
  • 打赏
  • 举报
回复
这些又怎么改?::

void COPY(char *src,char *des)
if(strcmp(src,des)==0)
{cout<<"not"<<endl;
return;
}
fstream fin(src,ios::binary|ios::in),fout(des,ios::binary|ios::out);
char c;
while(!fin.eof())
{fin.get(c);
if(!fin.eof()) fout.put(c);
}
fin.close();
fout.close();
cout<<"ok".<<endl;
}

void MDIR(char* name)
{
int stat=mkdir(name);
if(!stat)
cout<<"ok"<<endl;
else
cout<<"no"<<endl;
cout<<endl;
}

void CR(char *name)
{
ofstream f(name,ios::out);
f.close();
cout<<"ok"<<endl;
}

void TYPE(char* name)
{
ifstream f(name,ios::in);
char c;
while(!f.eof())
{
f>>c;
cout<<c;
}
cout<<endl;
}
ccnaspider 2003-06-06
  • 打赏
  • 举报
回复
是啊 ,想这样的函数在哪里可以找到啊?
我要比较详尽的说明,哪位大哥知道,告诉小弟一声
Dtoo 2003-06-06
  • 打赏
  • 举报
回复
N次了!找不到!!
blackdonkey 2003-06-06
  • 打赏
  • 举报
回复
你可以在www.google.com中搜索一下
Dtoo 2003-06-06
  • 打赏
  • 举报
回复
是呀!
我还没学到!
我这里找不到书呀!
能先解释吗?或者给个网上教程地址我!
lqqchen2003 2003-06-06
  • 打赏
  • 举报
回复
我看你不明白的是这个函数吧?
找本库函数手册自己查阅这个函数以及相关的数据结构的解释吧。
Dtoo 2003-06-06
  • 打赏
  • 举报
回复
struct find_t ffblk;

done=_dos_findfirst("*.*",_ANORMAL,&ffblk);
printf("FILENAME:%s\t SIZE:%ld\n", ffblk.name, ffblk.size);

这两行可以解释清楚吗?我不是很明白!
pzytony 2003-06-06
  • 打赏
  • 举报
回复

up
idontlikenickname 2003-06-06
  • 打赏
  • 举报
回复


void DIR()
{
struct find_t ffblk;
int done;
done=_dos_findfirst("*.*",_ANORMAL,&ffblk);
printf("FILENAME:%s\t SIZE:%ld\n", ffblk.name, ffblk.size);
while (!done)
{
printf("FILENAME:%s\t SIZE:%ld\n", ffblk.name, ffblk.size);
done=_dos_findnext(&ffblk);
}
printf("\n");
}

如果是borland系列的c,则ffblk.name改为ffblk.ff_name,ffblk.size改为ffblk.ff_fsize,
不过根据_dos_findfirst()判断这应该是用ms系列的c++写的~~~

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧