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

编写ls命令,文件名字字典序排列问题

    来源: 互联网  发布时间:2016-06-21

    本文导语:  下面是一段自己写的  ls 命令代码  这段代码只能显示 文件的名字 我想让文件名以字典序排列  方法是用 #include 的 排序函数sort 为了方便使用sort排序 自定义了保存文件名的数据结构 typedef struct node {     ...

下面是一段自己写的  ls 命令代码  这段代码只能显示 文件的名字
我想让文件名以字典序排列  方法是用 #include 的 排序函数sort
为了方便使用sort排序 自定义了保存文件名的数据结构
typedef struct node
{
     char data[50];
};

我的问题:
如果把//sort(store,store+i,cmp2);  注释掉可以正常输出文件名,如果经过排序后,会显示内存出错之类一大堆的看不懂的。

下面是完整的代码 ls1.cpp
#include
#include
#include
#include
#include
using namespace std;
typedef struct node
{
char data[50];
}node;

bool cmp(node,node);
void do_ls(char []);

int main(int ac, char * av[])
{
if( ac == 1)
do_ls(".");
else
{
while( --ac )
{
printf("%s:n", *++av);
do_ls(*av);
}
}
return 0;
}

bool cmp2(node a,node b)
{
return strcmp(a.data,b.data);
}

void do_ls(char dirname[])
{
DIR *dir_ptr;
int i=0,j,len;
struct dirent *direntp;
node store[100];
if( (dir_ptr = opendir( dirname )) == NULL )
fprintf(stderr,"ls1:cannot open %sn",dirname);
else
{
while( (direntp = readdir( dir_ptr )) != NULL )
{
len=strlen(direntp->d_name);
strncpy(store[i].data,direntp->d_name,len);
store[i++].data[len]='';
}
sort(store,store+i,cmp2);
for(j=0;j> x)
    numbers.push_back(x);
sort(numbers.begin(), numbers.end());
//sort函数巧妙地完成了任务,它仅仅调换了原容器中元素值的相对顺序,而不是创建一个新的容器来存储排序后的结果。

//排序后求中数
vec_sz mid = size/2;
double median;
median = size % 2 == 0 ? (numbers[mid] + numbers[mid-1])/2 : numbers[mid];

//如果不希望改变向量本身,就可以通过函数参数的方式调用它
//调用函数时整个vector参数都会被复制
double median(vector vec)
{
    sort(vec.begin(), vec.end());
    return 
}

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何在我的C语言编写的程序里面执行命令行命令,比如ls -la ??
  • AIX下如何编写批处理命令和计划任务
  • 如何用SHELL编写自定义的命令??
  • Linux下如何用C语言编写命令行下的菜单
  • ★★在自己编写的shell程序中,如何实现命令补全?
  • 新手问一个简单问题:用什么命令来结束自己编写的服务端程序
  • 在CMP中怎样编写类似于Update,delete等操作命令
  • 怎样让自己编写的程序成为命令
  • 如何在普通用户编写的shell脚本里面执行root用户才有的命令
  • 用记事本编写了一个Servlet,但在命令行中编绎时却说找不到包:
  • 求教:如何在用C++编写的server中调用Linux命令
  • 如何编写Shell,当SQL执行完毕后,继续调用Shell命令。
  • 入门者的问题:我在UNIX的环境下,编写了c程my.c,编译后生成 my*,可是用什么命令执行这个程序呀?
  • Linux下一个gcc命令的编写,求教。
  • 我现在在编写一个在LINUX下运行的命令解释器,对于后台运行的命令方法有些不懂,请高手指点一下
  • 用jbuilder7编写成功运行正常的程序在用jdk中java命令执行出错,请帮忙!
  • 小弟编写了一个小例,shell中命令行参数和-z选项的错误
  • 请教关于编写一个shell命令的小.sh小程序
  • C++编写FTP客户端解析LIST命令获取目录不完整,求解。
  • 编写who命令的错误!
  • 编写 linux shell 有什么好的编写工具呢?
  • VB编写的DLL不能被JAVA调用,用C将VB编写的DLL包装起来,做成一个新的DLL;用C编写的DLL可以被JAVA调用,用JAVA再进行一层的包装,因为JAV
  • 用Qt3.1.4编写的程序,如何加入自己编写的另外一个动态库呀?诚恳指教!!
  • 如图 scsi <---> scsi controller <---> pci <---> cpu 如果我想对scsi编写驱动我该对哪个部分编写?
  • 用什么工具编写JSP,可以象用InterDev编写ASP一样方便快捷?
  • 编写程序如编写人生,有人和我的意见相同吗?
  • 请问用jsp编写程序,非要编写代码么?有没有什么象fontpage2000那样的工具,能够生成一些固定模板的工具?就是说不用全部都写的工具。望
  • 用jsp编写web程序到底和java serverlet编写web程序有和区别
  • socket中,从client端(用java编写的)传到server端(用c编写的)的字符串为何总多一个ASCII码为10的字符呀?
  • 如何用java编写一个NT平台下的标准服务?
  • 关于用vj编写sniffer一问。


  • 站内导航:


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

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

    浙ICP备11055608号-3