网上看了一篇文章:
index系列函数和strchr系列函数
都是用来 查找字符串中出现的指定一个字符
连它们的声明也几乎一样
#include <strings.h>
char *index(const char *s, int c);
char *rindex(const char *s, int c);
和
#include <string.h>
char *strchr(const char *s, int c);
char *strrchr(const char *s, int c);
不过它们主要的不同在index和rindex函数的说明中:
The terminating NULL character is considered to be a part of the strings.
也就是说index系列函数把字符串中最后的结束字符也当是字符串的内容处理也就是你可以这样
index(str,'/0')和rindex(str,'/0')而strchr系列函数就不可以了
后来才知道,index函数和strrchr函数的区别 只是说index可以搜索'/0',strrchr不可以,
但搜索结果里都含有'/0'结束符作为结尾的。
另外,两个char*变量不可以直接用==比较,虽然不报错,但其实应该是在比较指针地址
要比较值的话应该用strcmpi(pExt, ".exe")之类的函数。
欢迎找错。