【发布时间】:2012-04-27 08:55:21
【问题描述】:
如何在 C 中检查字符串是否以 .csv 结尾?
我尝试过使用strlen,但没有成功。
【问题讨论】:
如何在 C 中检查字符串是否以 .csv 结尾?
我尝试过使用strlen,但没有成功。
【问题讨论】:
怎么样:
char *dot = strrchr(str, '.');
if (dot && !strcmp(dot, ".csv"))
/* ... */
【讨论】:
strrchr 找到了最右边的点。
.,但文件名中没有
if(strlen(str) > 4 && !strcmp(str + strlen(str) - 4, ".csv"))
【讨论】:
".csv" 不以".csv" 结尾?
.whatever 被认为具有名称.whatever 并且没有扩展名。因此,对于他的用例,这更有意义 IMO。
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));
}
【讨论】: