User Name Password Register
DaniWeb IT Discussion Community
All
What is DaniWeb IT Discussion Community?
You're currently browsing the C section within the Software Development category of DaniWeb, a massive community of 397,768 software developers, web developers, Internet marketers, and tech gurus who are all enthusiastic about making contacts, networking, and learning from each other. In fact, there are 2,474 IT professionals currently interacting right now! Registration is free, only takes a minute and lets you enjoy all of the interactive features of the site.
Please support our C advertiser:
Views: 2420 | Replies: 2
Reply
Join Date: Sep 2004
Posts: 11
Reputation: ellas747 is an unknown quantity at this point 
Rep Power: 0
Solved Threads: 0
ellas747 ellas747 is offline Offline
Newbie Poster

Need help with string loop

  #1  
Nov 18th, 2004
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;
}
AddThis Social Bookmark Button
Reply With Quote  
Join Date: Jun 2004
Location: Marin, CA, USA
Posts: 434
Reputation: Chainsaw is an unknown quantity at this point 
Rep Power: 5
Solved Threads: 9
Chainsaw's Avatar
Chainsaw Chainsaw is offline Offline
Unprevaricator

Re: Need help with string loop

  #2  
Nov 18th, 2004
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:
searchptr=strstr(line1, line2);
while (searchptr!=NULL)
{
    printf ("%s\n",searchptr);
    searchptr=strstr(searchptr+1, line2);
}
Reply With Quote  
Join Date: Sep 2004
Posts: 11
Reputation: ellas747 is an unknown quantity at this point 
Rep Power: 0
Solved Threads: 0
ellas747 ellas747 is offline Offline
Newbie Poster

Re: Need help with string loop

  #3  
Nov 30th, 2004
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;
}
Reply With Quote  
Reply

Only community members can participate in forum threads. You must register or log in to contribute.

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)

 

DaniWeb C Marketplace
Thread Tools Display Modes

Similar Threads
Other Threads in the C Forum

All times are GMT -4. The time now is 4:18 am.
Forum system based on vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
©2003 - 2008 DaniWeb® LLC