Как из txt закинуть в set?

chutikmam

Имею текстовый документ. На каждой строке 1 слово. Всего 15-20 слов. Как создать set и закинуть туда их?
6 ответов

chutikmam

std::set<std::string> s;
std::string w;
 
std::ifstream ifs("data.txt");
 
while (std::getline(ifs, w)) s.insert(w);


chutikmam

nmcf, Большое спасибо.А могу ли количество узнать через s.size? Насколько я помню, через s[i] не смогу обратиться к конкретному элементу, так? А как тогда можно пройтись по множеству? Как обратиться к конкретному записанному элементу, например к 5 слову.


chutikmam

size() - да, а индексов там нет. Пройтись - с помощью итераторов или цикла for(a : b).


chutikmam

nmcf, a и b - это, в частности, begin() и end(), я правильно понимаю?


chutikmam

for (std::string e : s)
{
}
e - элемент множества.


chutikmam

nmcf, Хорошо, понял. Мерси!