Чтение из файла в структуру данных в C ++ - PullRequest
2 голосов
/ 17 ноября 2011

Итак, у меня есть текстовый файл (data.txt), это история, так что просто предложение за предложением, и довольно длинное. Я пытаюсь взять каждое отдельное слово из файла и сохранить его в структуре данных какого-либо типа. В качестве пользовательского ввода я собираюсь получить слово в качестве ввода, а затем мне нужно найти 10 ближайших слов (в data.txt) к этому входному слову, используя функцию, которая находит расстояние Левенштейна между 2 строками (я подумал, что функционировать хотя). Поэтому я решил использовать getline (), используя "" в качестве разделителя, чтобы хранить слова по отдельности. Но я не знаю, во что мне следует хранить эти слова, чтобы я мог легко получить к ним доступ. И еще есть факт, что я не знаю, сколько слов в файле data.txt.

Возможно, я объяснил это ужасно, извините, я отвечу на все ваши вопросы, чтобы уточнить.

Ответы [ 2 ]

2 голосов
/ 17 ноября 2011

В C ++ вы можете хранить слова в векторе строк:

#include <vector>
#include <string>

//....

std::vector<std::string> wordsArray;
// read word
wordsArray.push_back(oneWord);
1 голос
/ 17 ноября 2011

Вам нужна структура данных, способная «содержать» прочитанные вами строки.Стандартная библиотека предлагает ряд классов-контейнеров, таких как:

  • vector
  • deque
  • list
  • set
  • map

Дайте чек на http://en.cppreference.com/w/cpp библиотеке контейнеров и найдите тот, который лучше соответствует вашим потребностям.Правильный ответ меняется в зависимости не только от того, что вы должны «хранить их», но и от того, что вы должны с ними делать потом.

...