我正在编写一个简单的 C 程序
char *path;
我想检查路径"/"
最后是否有尾随,我尝试strcmp
了函数,但它给了我分段错误。
if (strcmp(path[strlen(path)-1], "/") == 0)
如何检查字符串是否"/"
在末尾
谢谢。
我正在编写一个简单的 C 程序
char *path;
我想检查路径"/"
最后是否有尾随,我尝试strcmp
了函数,但它给了我分段错误。
if (strcmp(path[strlen(path)-1], "/") == 0)
如何检查字符串是否"/"
在末尾
谢谢。
因为 c 中的字符串是一个字符数组,所以您只需要检查 \0 之前的最后一个字符
而不是 strcmp 使用这样的东西
const int len = strlen(path);
if ( len > 0 && path[len-1] == '/' )
{
}
通过使用path[strlen(path-1)]
,您将单个字符传递给strcmp
,这是不允许的,因为strcmp
需要一个以空字符结尾的字符序列。
相反,直接比较它:
if (path[strlen(path)-1] == '/') { ... }