If you need to search for a character you can use the strchr
function, like this:
char* pPosition = strchr(pText, '|');
pPosition
will be NULL
if the given character has not been found. For example:
puts(strchr("field1|field2", '|'));
Will output: "|field2". Note that strchr
will perform a forward search, to search backward you can use the strrchr
. Now imagine (just to provide an example) that you have a string like this: "variable:value|condition". You can extract the value field with:
char* pValue = strrchr(strchr(pExpression, '|'), ':') + 1;
If what you want is the index of the character inside the string take a look to this post here on SO. You may need something like IndexOfAny()
too, here another post on SO that uses strnspn
for this.
Instead if you're looking for a string you can use the strstr
function, like this:
char* pPosition = strstr(pText, "text to find");
"|"
is a c string, Anything enclosed in double quotes"
,"
is a string irrespective of number of characters it has.Either your Q title is misleading or I mis-understand your Q. – Darell'>>'
is not a single character. Here you need a different approach (strstr
). – Praseodymium