如何检查字符串是否以 C 中的 ".csv" 结尾



如何检查字符串在 C 中是否以 .csv 结尾?

我尝试使用strlen没有任何成功。

怎么样:

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

ThiefMaster代码的最简单(也是最通用)的形式是:

int string_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));
}

最新更新