我正在写一个简单的C程序
char *path;
我想检查路径末尾是否有"/"
,我尝试了strcmp
函数,但它给了我分段错误。
if (strcmp(path[strlen(path)-1], "/") == 0)
如何检查字符串末尾是否有"/"
感谢。
答案 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] == '/') { ... }