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?

[Webinar] Streamline your web hosting managementRegister Today

x
 
danelroismanConnect With a Mentor Commented:


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
 
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
All Courses

From novice to tech pro — start learning today.