如何在C程序中检查字符串是否有/字符

时间:2013-11-03 09:29:58

标签: c string path comparison strcmp

我正在写一个简单的C程序

char *path;

我想检查路径末尾是否有"/",我尝试了strcmp函数,但它给了我分段错误。

if (strcmp(path[strlen(path)-1], "/") == 0)

如何检查字符串末尾是否有"/"

感谢。

2 个答案:

答案 0 :(得分:5)

因为c中的字符串是一个字符数组,你只需要检查\ 0

之前的最后一个字符

而不是strcmp使用类似这样的东西

const int len = strlen(path);
if ( len > 0 && path[len-1] == '/' )
{ 

}

答案 1 :(得分:1)

通过使用path[strlen(path-1)],您将单个字符传递给strcmp,这是不允许的,因为strcmp需要以空字符结尾的字符序列。

相反,直接比较它:

if (path[strlen(path)-1] == '/') { ... }