如何查找文件名的长度?

时间:2017-09-11 10:37:30

标签: c

我希望从给定的一组文件名中找到文件名的最大长度,并使用以下代码:

int Max_FnLen=strlen(files[0]->d_name);
for (i=1;i<count-1;i++)
{
if(strlen(files[i]->d_name)>strlen(files[i-1]->d_name))
 { 
   Max_FnLen=strlen(files[i]->d_name);
 }
}

但它没有给出所需的输出任何人都可以帮助我

谢谢!

2 个答案:

答案 0 :(得分:2)

int Max_FnLen=strlen(files[0]->d_name);
for (i=1;i<count;i++)
{
if(strlen(files[i]->d_name)>Max_FnLen)
 { 
   Max_FnLen=strlen(files[i]->d_name);
 }
}

试试这个。

答案 1 :(得分:-1)

在最初设置索引为0的元素作为具有最大长度的元素之后,您应该将每个下一个元素的长度与最大长度的当前值进行比较。

代码可以按以下方式查看

size_t Max_FnLen = strlen( files[0]->d_name );

for ( size_t i = 1; i < count; i++ )
{
    size_t FnLen = strlen( file[i]->d_name );

    if ( Max_FnLen < FnLen )
    {
        Max_FnLen = FnLen;
    }    
}

如果您还需要知道具有最大长度的元素的索引,则可以通过以下方式修改代码

size_t Max_FnLen = strlen( files[0]->d_name );
size_t Max_Index = 0;

for ( size_t i = 1; i < count; i++ )
{
    size_t FnLen = strlen( file[i]->d_name );

    if ( Max_FnLen < FnLen )
    {
        Max_FnLen = FnLen;
        Max_Index = i;
    }    
}