Comment puis-je vérifier si une chaîne se termine par “.csv” en C

Comment puis-je vérifier si une chaîne se termine par “.csv” en C

J’ai essayé d’utiliser strlen sans succès

Que diriez-vous:

 char *dot = strrchr(str, '.'); if (dot && !strcmp(dot, ".csv")) /* ... */ 
 if(strlen(str) > 4 && !strcmp(str + strlen(str) - 4, ".csv")) 

La forme la plus simple (et la plus générale) du code de ThiefMaster serait:

 int ssortingng_ends_with(const char * str, const char * suffix) { int str_len = strlen(str); int suffix_len = strlen(suffix); return (str_len >= suffix_len) && (0 == strcmp(str + (str_len-suffix_len), suffix)); }