Я пытаюсь прочитать информацию об А. Слове и Б. Частота произнесенного слова.Когда функция считывает информацию, первый вызов читает ее слева (слово) справа (частота), затем следующий - справа (частота) слева (слово).Я предполагаю это из-за моего форматирования.Я предполагаю, что его пропускаемое слово.
dicFile << s.key << " " << s.wordCount << endl;
dicFile - это текстовый файл, в который он выводится.s.key - слово, s.wordcount - целое число.
Текстовый файл в формате:
Бухгалтерский учет 3
Apple 1
Хлеб1
....
читается
fstream dictionaryFile;
string dF, word, freq;
cout << "Input dictionary file: ";
cin >> dF;
dictionaryFile.open(dF);
if (dictionaryFile.is_open()) {
while (dictionaryFile >> word) {
dictionaryFile >> word >> freq;
int frequ = stoi(freq);
newItem.key = word;
newItem.wordCount = frequ;
tree.AVL_Insert(newItem);
}
}
else { cout << endl << "ERROR"; }
Это сбой в atoi, я предполагаю, потому что он не может обрабатывать «Бухгалтерский учет».