Как вставить / сохранить первое слово строки как одну переменную, остаток строки как другую - PullRequest
0 голосов
/ 19 сентября 2019

У меня есть текстовый файл, который я пытаюсь прочитать и сохранить здесь:

5

chrestomathy A selection of passages from an author or authors, designed to help in learning a language

detectable Able to be discovered or identified

feldspar An abundant rock-forming mineral typically occurring as colorless or pale-colored crystals

haricot A bean of a variety with small white seeds, especially the kidney bean

pluripotent Capable of giving rise to several different cell types

Каждая строка - это слово, за которым следует его определение, где заглавная буква начинает определение.Я не знаю, как inFile / сохранить слово и определение в отдельных переменных, так как они обе строки.

Я создал класс Templated Map ниже:

template <typename Domain, typename Range>
class Map
{

public:
Map(int n); // number of entries in the table

~Map();

void add(Domain d, Range r); // add an entry to the table

bool lookup(Domain d, Range& r);

private:
int numEntries;

Domain* dArray;

Range* rArray;


};

Предполагается, что этот "Словарь" является экземпляром этой Карты, где слово - это домен, а диапазон - это определение.

Executive::Executive(string file1)
{
int n;  

Map<string, string> Dictionary;

ifstream inFile1; 
inFile1.open("Dictionary0.txt");

inFile1>>n; 

for(int i=0; i<n; i++)
{

    //Dictionary.add(word, def);
    //Feel like i need to use something like this too but not sure how

}

}

Я хочу прочитать и сохранить эти значения, чтобы позже я мог использовать функцию поиска, чтобы проверить, есть ли слово в «словаре» (файле), а затем распечатать его определение.Я создал класс Executive для чтения и хранения.

1 Ответ

1 голос
/ 19 сентября 2019

Шаг 1: Используйте >>, чтобы прочитать первое слово в std::string:

std::string word;
inFile >> word;

Шаг 2: Пропустить пробел после слова:

inFile >> std::skipws;

Шаг3: Используйте std::getline, чтобы прочитать остаток строки:

std::string definition;
std::getline(std::cin, definition);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...