現在、文字列内に文字列があるかどうかを確認する必要がある C プログラムに取り組んでいます。文字列は mylog.txt.1 である可能性があり、mylog.txt が含まれていることを確認し、何かを実行するかどうかを確認したいと考えています。
これを実行するために、次のコードを使用しています
int logMaintenance(void *arg)
{
while (TRUE)
{
DIR *dir;
struct dirent *ent;
dir = opendir(directory);
if (dir != NULL)
{
while ((ent = readdir (dir)) != NULL)
{
if (strstr(ent->d_name, fileName) != NULL )
{
printf("%s\n", ent->d_name);
}
}
closedir(dir);
}
else
{
printf("Failed to read directory %i", EXIT_FAILURE);
}
SL_WU_SleepUSecs(2000);
}
return 0;
}
ただし、このコードは機能していないようです。何らかの理由で、mylog.txt を出力するだけで、.1 や .2 などで終わる他のファイルは含まれません。また、if ステートメントで != NULL の代わりに >=0 を使用してみましたが、これは単に出力されますmylog.txt が含まれていなくてもすべて。
ご協力いただきありがとうございます。