Suppose I have a string \"qwerty\" and I wish to find the index position of the e character in it. (In this case the index would be 2)
\"qwerty\"
e
2
Just subtract the string address from what strchr returns:
char *string = "qwerty"; char *e; int index; e = strchr(string, 'e'); index = (int)(e - string);
Note that the result is zero based, so in above example it will be 2.