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.
The indexOf() method returns the position of the first occurrence of specified character(s) in a string. Tip: Use the lastIndexOf method to return the position of the last occurrence of specified character(s) in a string.
The strchr() function finds the first occurrence of a character in a string. The character c can be the null character (\0); the ending null character of string is included in the search.
Description. The strrchr() function finds the last occurrence of c (converted to a character) in string. The ending null character is considered part of the string.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With