Я пытаюсь прочитать из текстового файла стихотворение, содержащее запятые, пробелы, периоды и символ новой строки. Я пытаюсь использовать getline для чтения в каждом отдельном слове. Я не хочу читать какие-либо запятые, пробелы, периоды или символ новой строки. Когда я читаю в каждом слове, я заглаживаю каждую букву, а затем вызываю свою функцию вставки, чтобы вставить каждое слово в двоичное дерево поиска в виде отдельного узла. Я не знаю, как лучше всего отделить каждое слово. Я был в состоянии отделить каждое слово пробелами, но запятые, точки и символы новой строки продолжают считываться вЧтение только букв из текстового файла
Вот мой текстовый файл:.
Розы красные, фиалки синие, Структуры данных является лучшим, Вы и я оба знаем, что это правда.
код, я использую это:
string inputFile;
cout << "What is the name of the text file?";
cin >> inputFile;
ifstream fin;
fin.open(inputFile);
//Input once
string input;
getline(fin, input, ' ');
for (int i = 0; i < input.length(); i++)
{
input[i] = toupper(input[i]);
}
//check for duplicates
if (tree.Find(input, tree.Current, tree.Parent) == true)
{
tree.Insert(input);
countNodes++;
countHeight = tree.Height(tree.Root);
}
В основном я использую GetLine (плавник, вход, ' «), чтобы прочитать в моем входе.
Вы можете использовать 'getline (fin, input, '\ n');' для захвата каждой строки. А затем ** разобрать ** строку для слов. Чтобы проанализировать слово, вы можете использовать функцию 'find_first_of' member' std :: string'. –
Есть ли способ решить эту проблему без использования внешних классов? Я студент, и мы не должны это делать. –
Вы уже используете функцию 'getline' и класс' std :: string'. –