944,133 Members | Top Members by Rank

Ad:
  • C Discussion Thread
  • Unsolved
  • Views: 6285
  • C RSS
Nov 18th, 2004
0

Need help with string loop

Expand Post »
I have this program but a liitle confused about getting the loop to work. i have to write a program that inputs a text and a search string from the keyboard. using a function strstr locate the first occurrence of the search string of the line of text, and assign the location to a variable searchptr of type char* if the search string is found print the remaninder of the line of the text beginning with the search string then use strstr again to locate the next occurrence of the search string in the line of text. if a second occurrence is found print the remainder of the line beiginning with the second occurrence. hint: the second call to strstr should contain searchptr plus 1 as its first argument.

[code] so far i have this, can somebody help me. Thanks
#include <stdio.h>
#include <string.h>
#include <stdlib.h>


int main()
{
char line1[80];
char line2[80];
char *searchptr;
int i;

char found[80];

printf( "Enter Sentence\n");
gets(line1);

printf(" Enter String to Search: ");
gets(line2);

searchptr=strstr(line1, line2);
printf ("%s\n",searchptr);
while (searchptr!=NULL)
{
searchptr=strstr(line1, line2)+1;

}

return 0;
}
Similar Threads
Reputation Points: 10
Solved Threads: 0
Newbie Poster
ellas747 is offline Offline
11 posts
since Sep 2004
Nov 18th, 2004
0

Re: Need help with string loop

inside the loop try:

searchptr=strstr(searchptr+1, line2);

You want to start each subsequent search at one char past where the last search stopped.

Oh, yeah, and move the printf INSIDE the loop so a) you print each string found, and
b) you DON'T print when searchptr is NULL:
  1. searchptr=strstr(line1, line2);
  2. while (searchptr!=NULL)
  3. {
  4. printf ("%s\n",searchptr);
  5. searchptr=strstr(searchptr+1, line2);
  6. }
Reputation Points: 36
Solved Threads: 11
Posting Pro in Training
Chainsaw is offline Offline
436 posts
since Jun 2004
Nov 30th, 2004
-1

Re: Need help with string loop

I tried doing this program but its still not working. Can somebody help me out.
Thanks,

Code:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>


int main()
{
char line1[80];
char line2[80];
char *searchptr;
int i;

char found[80];

printf( "Enter Sentence\n");
gets(line1);

printf(" Enter String to Search: ");
gets(line2);

searchptr=strstr(line1, line2);
while (searchptr!=NULL)
{
searchptr=strstr(searchptr+1, line2);
printf ("%s\n",searchptr);

}

return 0;
}
Reputation Points: 10
Solved Threads: 0
Newbie Poster
ellas747 is offline Offline
11 posts
since Sep 2004

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in C Forum Timeline: Ive Been Reading
Next Thread in C Forum Timeline: Decimal to Base 2 - 16 Conversion





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC