• C

Writing strings into vectors

Experts,
        I am just starting to explore the uses of the "vector" in C++. I need to read strings of Text and store it into an array of strings. Moreover, while reading each string, I need to check it will all the elements that have already been entered to make sure that no duplicates are entered. Please give me a way to do this
gvijay1Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

snifongCommented:
It would be better to use a Set.  A set insures that there are no duplicates.  You would create a set of strings...something like Set<string> MySet;
That may not be quite right ... I don't have my docs with me.  It will get you in the right direction though.
0
sumant032199Commented:
Please explain in detail.
What is "duplicate of string"?
0
KangaRooCommented:
snifong is mostly right, but it is set<string>

#include <string>
#include <set>
using namespace std;

void foo()
{
  set<string> the_set;
  while(there_is_input)
    the_set.insert(string(fetch_cstr()));

  // ....
}
0
danelroismanCommented:


Use <set> and not <vector>

For simple example write this:

#include <iostream>
#include<string>
#include <set>

using namespace std;

int main(int argc, char* argv[])
{


      set<string> strset;
      string str;
      set<string>::iterator it;

      while(1){
            
            

            cout << "enter the string" << endl;
            cin >> str;

            /*if(strset.empty()==true){
                  strset.insert(str);
                  continue;
            }*/

            it = strset.find(str);
            
            if (it == strset.end()){
                  strset.insert(str);
            }
            else
            {
                  cout << "error : duplicate string!" << endl;
            }

      }

}


Daniel
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
C

From novice to tech pro — start learning today.