Compare Char to String


 
Thread Tools Search this Thread
Top Forums Programming Compare Char to String
# 1  
Old 04-07-2005
Compare Char to String

This is actually a c++ question...

Basically I am creating a program that asks for five characters. I have a dictionary file containing tons of words no long than five letters long, on a seperate line. I want to be able to take the five inputted letters and compare them to the words in the file so it may output words that may be created from the characters. I have done most of the grunt work: Setting up the interface, variables, and file stuff (streams), but I do not know how to compare the characters to the strings in the file.

Thanks for the help
-Robert

PS. If you need me to post my source code, just ask.
# 2  
Old 04-08-2005
let me make sure I understand the problem :
So, you have a file of english words. when the program starts it prompts the user to enter a char string of no longer than 5 elements, then the program will scan through the file to see if all the characters of user input match any of the words in the file; if so it will output all the matching(created) words.
Example : say your file file.dat contains

beer
apple
bread
read
dear
dare

and you enter as input : aerd

then your program will spit out the 3 words in the file : read, dear, dare since they match all chars in the input. Is that correct? Or should it match the whole word as is, that is, if you enter aerd, it will look necessarily for aerd?
# 3  
Old 04-08-2005
Yes, absolutly how you thought, the letters will be scrambled - except I named my file dict.dat instead of file.dat, hehe. If you could help me with it, since you appear to understand what will happen, I will be most thankful!

-Robert
# 4  
Old 04-09-2005
Code:
# inlcude <string>
# include <cstring>

void print_matching_words(string) ;
bool compare(const string, const string) ;

int main( )
{
  // read contents of the file to an array large enough
  // to hold all words in file, say words[]
  
  cout << "enter a character string :" ;   // there should be no space between input char's
  cin >> input ;
  
  print_matching_words(input) ;
  return 0 ;
}

void print_matching_words(string input)
{
  int s_size strlen(input) ;
  
  for(int i=0; i<num_of_all_words; i++)   // for all words in file
    if(s_size == strlen(words[i])        // first figure out if size match
      if(compare(input, words[i]) )      // compare to see if both have same chars
        cout << words[i] << endl ;       // if so, we found it, print it out 
}

bool compare(const string input, const string word)
{
  string temp[strlen(input)] ;
  bool found = true ;
  strcpy(temp, word) ;   // copy word to temp one
  
  for(int i=0; found && i<strlen(input); i++)   // check all char's of input
    for(int k=0; k<strlen(input); k++)      // for all char's of compared word
    {  if(temp[k] && (input[i] == temp[k]) )   // if we found the char
       {  temp[k] = '\0' ;      // mark it off, so that we'll not encounter it again
          break ;             // break out of the loop
       }
       if(k == strlen(input) - 1)   // if we're at the end of temp and haven't found
         found = false ;          // the char in input yet, this word doesn't match
    }                             // we need to return false
  return found ;
}

This is what I came up with, you can change the variable names.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Programming

C++ Using open on a string instead of char*

I am using ifstream to open a file using std::fstream::open void open ( const char * filename, ios_base::openmode mode = ios_base::in ); However I want to use a string instead of a char* as follows but having a problem on how to do this string val_ifmodl = “fred.modl” ifstream ifs_modl;... (2 Replies)
Discussion started by: kristinu
2 Replies

2. Programming

Cast from String to char

Hello, This is my code: i'd like to like to add getenv("MYLIB") in the first case of my buffer inside of '1' , should i do the cast ? and how please ? Thank you. (1 Reply)
Discussion started by: chercheur857
1 Replies

3. Programming

PERL \c char in the string

Hi guys, I am stuck up in a situation. I have a SUN box with certain logs which I need to parse to draw a report using Perl. Now, when I load the text file using a perl degugger to see how the text looks like when the first line of the log file is read in a variable. below is the snapshot of... (2 Replies)
Discussion started by: Asteroid
2 Replies

4. Shell Programming and Scripting

How to loop through every char in a string

for example this string: gLZMQp8i Loop become easy if we add space between each char, How to do it? or other solutions are welcome. (9 Replies)
Discussion started by: honglus
9 Replies

5. Programming

to compare two integer values stored in char pointers

How can I compare two integer values which is stored in char pointers? suppose I have char *a and char *b having values 10 and 20. how can i find the shorter value? (1 Reply)
Discussion started by: naan
1 Replies

6. Shell Programming and Scripting

Parsing char string

I am stumped! I need to parse an input parameter to a script that has the form '-Ort'. I basically need 'O', 'r' and 't', i.e. the individual characters in the string parsed. Since there are no delimiters, I don't know how awk could do this. Can someone tell how to do this, this should be a... (5 Replies)
Discussion started by: ALTRUNVRSOFLN
5 Replies

7. Shell Programming and Scripting

how to get number char from a string

for example: i hav a string like : /rmsprd/arch01/rmsprd/rmsprdarch72736.log how I can extract my_num=72736? I know I can echo "/rmsprd/arch01/rmsprd/rmsprdarch72736.log" | tr "/" " " | awk '{ print $4 }' to get rmsprdarch72736.log (4 Replies)
Discussion started by: netbanker
4 Replies

8. Shell Programming and Scripting

last char from a string

i have a script that reads a plain text file. (its a ksh, and i can use bash also) each line of the file is a fullpath of a file. that makes the list huge. i need to add a functionalitie to that script, i have to be able to add /usr/* or /usr/ and with that reference all the files and folders... (6 Replies)
Discussion started by: broli
6 Replies

9. Programming

replacing char with string

how we can replace char with a string example char *a="a.s" so finally what i ant to do raplace a with ant and s sree so in my array a i want to store the value as "ant.sree" thank u in advance (1 Reply)
Discussion started by: phani_sree
1 Replies

10. UNIX for Dummies Questions & Answers

string of 7 char length always...

Hi, I know, particular value in the variable should always be of lenth 7 , but the value that is present in thevariable might be of any no.of characters less than or equal to 7... if the no.of characters in the variable is less than 7, I want to add, zeroes at the starting of the field.. How can... (3 Replies)
Discussion started by: thanuman
3 Replies
Login or Register to Ask a Question