[Coco] "C string searching question

Bill Pierce ooogalapasooo at aol.com
Tue Oct 2 07:33:08 EDT 2012


strcmp would work, but it would only do n chars from the start... I need to step through a 33 char name and find a 10 char string.  s1=catanddog; s2=dog; n=3; strcmp(s1, s2, n) will not find dog, it will see cat.
 What's needed is a function with a start point. Using the above example:
 
for(c=0; c<=sizeof(s1); c++);
     srchstr=(srchfunc(s1, s2, c, n)) {
     if(srcgfunc == s2)
         goto match
 }

Bill P

Music from the Tandy/Radio Shack Color Computer 2 & 3
https://sites.google.com/site/dabarnstudio/
Bill Pierce
ooogalapasooo at aol.com




-----Original Message-----
From: Retro Canada <retrocanada76 at gmail.com>
To: CoCoList for Color Computer Enthusiasts <coco at maltedmedia.com>
Cc: coco <coco at maltedmedia.com>
Sent: Tue, Oct 2, 2012 7:18 am
Subject: Re: [Coco] "C string searching question


then use strncmp

Sent from my iPhone

On 2012-10-02, at 4:19 AM, Bill Pierce <ooogalapasooo at aol.com> wrote:

> 
> The files will be on whoever's computer they are on as this is a publicly 
available program, so no guarantee of any sort what-so-ever.
> 
> I'm probably going to use a 10 character search string as most things people 
would search for wouldn't have much more, though the titles can be up to 33 
characters. So the search has to look through all 33 chars of 500 strings for a 
match of 10 chars at the most, but could be less according to what the user 
specifies in the search, so the size of the searcg string will be variable.
> 
> All I want to do is search throuh a list of strings and find ONE occurance of 
the search string, this can be anywhere in the string being searched, not just 
at the beginning, then if that ocurrance is not the right one, it will be 
discarded and the next occurance will be searched. No catalogging is done and 
nothing is saved.
> 
> One thing I've failed to mention... all the strings are in memory. There will 
be no disk activity, only memory reads. The file directory is read when the 
directory is chosen and the strings are initiated then. The user will search at 
any given time, for any given string. The directories can be changed at any time 
so no sort of sort, token or database can be created as the next time more songs 
may have been thrown into the directory since the last.. It has to be a realtime 
search.
> 
> To see what I'm trying to search, just download the Sound Chaser Beta from my 
links and intall the programs the the music dirs from the 2nd & 3rd disks (all 
music into one dir). Then run the program and you'll see what the list is.
> Please read the docs before installing or running as there's a lot to this 
program thought it's pretty straight forward.
> 
> 
> Bill P
> 
> 
> Music from the Tandy/Radio Shack Color Computer 2 & 3
> https://sites.google.com/site/dabarnstudio/
> Bill Pierce
> ooogalapasooo at aol.com
> 
> 
> 
> 
> -----Original Message-----
> From: John Kent <jekent at optusnet.com.au>
> To: CoCoList for Color Computer Enthusiasts <coco at maltedmedia.com>
> Sent: Tue, Oct 2, 2012 3:35 am
> Subject: Re: [Coco] "C string searching question
> 
> 
> 
> If the records are ordered alphabetically based on the record name and 
> the search strings are sorted alphabetical you could do a sort of merge 
> search.
> i.e. Once you match the first string you can work from that point in 
> each list to match the next string.
> The near optimal sort is a Batcher sort although it's a trade off 
> between speed and memory space.
> You can do a recursive successive approximation sort, or an insertion 
> sort if you are building the search list entry by entry.
> You could use a linked list or double linked list, so you only have to 
> move the pointers rather than the whole record.
> There is a Sort and Merge package for Flex9 for the 6809.
> Google for sorting and searching algorithms.
> 
> John.
> 
> On 2/10/2012 3:22 PM, Bill Pierce wrote:
>> This is why I was doing byte by byte search... find fist char, then match 
2nd, 
> ?no match? move to next char in string and start over. I had it working just 
> doing first word search, then started editing the code to move through the 
> string for any occurance and got it messed up. Now I can't seem to get it back 

> to the working version... and by the way, it was pretty fast through almost 
200 
> songs. I didn't try any higher counts yet.
>> 
>> Bill P
>> 
>> Music from the Tandy/Radio Shack Color Computer 2 & 3
>> https://sites.google.com/site/dabarnstudio/
>> Bill Pierce
>> ooogalapasooo at aol.com
>> 
>> 
> 
> -- 
> http://www.johnkent.com.au
> http://members.optusnet.com.au/jekent
> 
> 
> 
> --
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco
> 
> 
> 
> --
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco

--
Coco mailing list
Coco at maltedmedia.com
http://five.pairlist.net/mailman/listinfo/coco

 



More information about the Coco mailing list