文件夹怎么用数字来排序?

比如说:
文件1.0
文件1.1
文件1.2
文件1.2.1
文件1.2.1.1

就像上面这样

如果前缀一样,直接用字符串比较就可以啊。如果前缀不一样,就需要先把数字部分提取出来,然后用数字部分的字符串进行比较就可以了。C语言代码参考如下,如有帮助,请采纳一下,谢谢。

#include <stdio.h>
#include <string.h>
int main()
{
    char buf[5][20] = {"文件1.2","文件1.0","文件1.2.1","文件1.2.1.1","文件1.1"};
    int i,j;
    char tmp[20];
    for (i = 0;i<4;i++)
    {
        for(j= 0;j<4-i;j++)
        {
            if(strcmp(buf[j],buf[j+1]) > 0)
            {
                memset(tmp,0,20);
                strcpy(tmp,buf[j]);
                memset(buf[j],0,20);
                strcpy(buf[j],buf[j+1]);
                memset(buf[j+1],0,20);
                strcpy(buf[j+1],tmp);
            }
        }
    }

    //输出
    for(i=0;i<5;i++)
        printf("%s\n",buf[i]);
    return 0;
}

运行结果如下图所示:

img