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
)
How do I do it in C?
I found the strchr
function but it returns a pointer to a character and not the index.
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.