给定一个字符串"filename.conf",如何验证扩展部分?
我需要一个跨平台的解决方案.
这不是我的代码; 我试图找出这究竟是什么.这是用C语言编写的一个古老的大系统的一部分(实际上它是4年前编写的,但很可能是由80年代后期的程序员心态编写的).部分代码:
char DestFile[256];
char DestFile2[256];
//This part is just to show an example
strcpy(DestFile, "/foo/boo/goo.gz")
strcpy ( DestFile2, DestFile );
Ptr = strrchr ( DestFile2, '.' );
if ( Ptr != 0 ) {
if ( ( strcmp ( Ptr, ".gz" ) == 0 ) ||
( strcmp ( Ptr, ".Z" ) == 0 ) ) {
*Ptr = 0;
rename ( DestFile, DestFile2 );
}
}
Run Code Online (Sandbox Code Playgroud)
DestFile2未在函数中的任何其他位置设置.我编译了上面的代码,并打印出DestFile显示没有任何改变.我唯一能想到的就是删除文件扩展名(*Ptr = 0),但我对C的了解非常有限......
有任何想法吗?看起来每次获取带.gz或.z的文件时,它都会将文件重命名为相同的名称.