Jos*_*ren 20 c string indexing function char
c中是否有一个函数可以返回char数组中char的索引?
例如:
char values[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char find = 'E';
int index = findIndexOf( values, find );
Run Code Online (Sandbox Code Playgroud)
Jes*_*der 49
strchr返回指向第一个匹配项的指针,因此要查找索引,只需使用起始指针获取偏移量.例如:
char values[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char find = 'E';
const char *ptr = strchr(values, find);
if(ptr) {
int index = ptr - values;
// do something
}
Run Code Online (Sandbox Code Playgroud)
还有size_t strcspn(const char *str, const char *set); 它返回s包含在中的字符第一次出现的索引set:
size_t index = strcspn(values, "E");
Run Code Online (Sandbox Code Playgroud)
int index = strchr(values,find)-values;
Run Code Online (Sandbox Code Playgroud)
注意,如果没有find找到,则strchr返回NULL,因此索引将为负数.