Write the following function in C.
stripos — Find position of first occurrence of a case-
insensitive string
int stripos ( char* haystack, char* needle, int offset )
Returns the numeric position of the first occurrence of
needle in the haystack string. Note that the needle may be
a string of one or more characters. If needle is not found,
stripos() will return -1.
The function should not make use of any C library function
calls.
Answer Posted / anand
int stripos ( char* haystack, char* needle, int offset )
{
char *ptr,X,Y;
int diff = 'A'-'a' ,pos=0;
ptr=haystack;
X=(*needle>='A' && *needls<='Z')?*needle-diff:*needle;
while ( *ptr!='\0' )
{ Y=(*ptr>='A' && *ptr<='Z')? *ptr-diff : *ptr )
if( Y == X )
return pos;
pos++;
ptr++;
}
return -1;
}
int offset is of no use in the function. however, the
question does not give any details of offset parameter. even
if provided the function may not require as all strings end
with NULL character ( same as '\0' ).
*needle is converted to small case letter and is compared
with converted small letter of the string.
| Is This Answer Correct ? | 0 Yes | 0 No |
Post New Answer View All Answers
What are the complete rules for header file searching?
What is LINKED LIST? How can you access the last element in a linked list?
What's the best way of making my program efficient?
What are pragmas and what are they good for?
if (i = 0)printf ("True"); elseprintf("False"); Under what conditions will the above print out the string "True" a) Never b) Always c) When the value of i is 0 d) all of the above
What is typedef struct in c?
Explain Function Pointer?
HOW TO SOLVE A NUMERICAL OF LRU IN OS ??????
What is static memory allocation? Explain
Why malloc is faster than calloc?
How to get string length of given string in c?
Can I initialize unions?
c program for searching a student details among 10 student details
What are the characteristics of arrays in c?
Write a program to know whether the input number is an armstrong number.