在目录中逐个读取文件的功能

Ale*_*der 1 c linux file-handling

我在C中实现一个SMTP发送器,它应该在创建目录时从目录读取文件,处理数据并删除文件.

如何实现这个应该自动执行此操作的轮询功能?

And*_*mar 5

一个简单的选择是定期从cron运行程序.该程序可以使用Linux API调用readdir来遍历目录.它不必主动监视目录.

这是一个简单的代码示例:

#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>
int main()
{
   DIR* dp = opendir(".");
   struct dirent* de;
   while (de = readdir(dp))
   { 
     if (de->d_type != DT_REG) // Only print regular files
        continue;
      printf("Found file %s\n", de->d_name);
   }
   closedir(dp);
}
Run Code Online (Sandbox Code Playgroud)

免责声明:为简单起见,我没有包含检查或处理错误条件的代码.