如何将字符串的最后n个字符与C中的另一个字符串进行比较

sjo*_*jor 7 c string url if-statement

想象一下,我有两个字符串,其中一个是"/sdcard/test.avi"之类的网址,另一个是"/sdcard/test.mkv".我想编写一个if语句,查看字符串的最后四个字符是否为".avi"或者不是C.我怎么能这样做?使用strcmp或者是什么以及如何使用?

Oli*_*rth 22

如果你有一个指向char的指针数组str,那么:

int len = strlen(str);
const char *last_four = &str[len-4];
Run Code Online (Sandbox Code Playgroud)

会给你一个指向字符串最后四个字符的指针.然后你可以使用strcmp().请注意,您需要应对这种情况(len < 4),在这种情况下,上述情况无效.