Contar ocorrencias de arquivos em C

pessoal preciso criar (ou usar se eh q existe) um metodo q me retorne a quantidade de arquivos dentro de um diretorio, isso em C.
tipo, eu preciso contar a quantidade de arquivos .dat q existam dentro de um diretorio (soh os .DAT).
exemplo:

C:/Documento/arquivos/
dentro dessa pasta tenho os arquivos barco.dat, casa.dat, lanche.dat.
preciso de uma funcao q me retorne

int quantidade = contaArqs(“C:/Documento/arquivos/”);

(quantidade == 3)

alguma ideia de como fazer?