比如说:
文件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;
}
运行结果如下图所示: