栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

C ++中目录文件名的自然排序

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C ++中目录文件名的自然排序

glibc中有一个功能 完全可以满足您的需求 。不幸的是,它是C,而不是C
++,因此,如果可以接受的话,这是“开箱即用”的最简单的解决方案,而无需重新实现任何功能和重新设计轮子。顺便说一句:这与

ls-lv
实施完全相同。其中最重要的部分是为您
versionsort
执行 自然排序
的功能。在此用作的比较功能
scandir
。下面的简单示例将按您希望的顺序打印当前目录中的所有文件/目录。

#define _GNU_SOURCE#include <dirent.h>#include <stdlib.h>#include <stdio.h>int main(void){    struct dirent **namelist;    int n,i;    n = scandir(".", &namelist, 0, versionsort);    if (n < 0)        perror("scandir");    else    {        for(i =0 ; i < n; ++i)        { printf("%sn", namelist[i]->d_name); free(namelist[i]);        }        free(namelist);    }    return 0;}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/405869.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号