How do I find the index of a character within a string in C?

前端 未结 5 1258
野的像风
野的像风 2021-01-31 15:12

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)

5条回答
  •  谎友^
    谎友^ (楼主)
    2021-01-31 15:28

    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.

提交回复
热议问题