gpt4 book ai didi

检查文件是否是C中的特定类型

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:18:35 25 4
gpt4 key购买 nike

虽然我有 C++ 背景,但我正在编写我的第一个 C 程序。

我需要遍历文件目录并检查文件是否是头文件,然后返回计数。

我的代码如下,我认为它很简陋:

static int CountHeaders( const char* dirname ) {

int header_count = 0;
DIR* dir_ptr;
struct dirent* entry;

dir_ptr = opendir( dirname );

while( ( entry = readdir( dir_ptr ) ) )
{
if ( entry->d_type == DT_REG )
{
//second if statement to verify the file is a header file should be???
++header_count;
}
}

closedir( dir_ptr );

return header_count;
}

什么是检查文件是否为标题的 if 语句?

最佳答案

只需检查文件扩展名是否为.h,例如:

const char *ext = strrchr (entry->d_name, '.');     
if ((ext != NULL) && (!strcmp (ext+1, "h"))) {
// header file
}

当然,请注意,这假设您所有的头文件都具有 .h 扩展名,这可能是正确的也可能不是,C 标准并不强制要求头文件必须具有 。 h 扩展。

关于检查文件是否是C中的特定类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12275667/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com