Не читается слово из заданного файла

251
28 марта 2018, 06:01

Не читает слова из файла "input.txt" (24 строчка). Если getline заменить на fin >> word, то ничего не изменится. В чем проблема?

#include <fstream>
#include <iostream>
#include <string>
using namespace std;
string wordsChecker(string checkWord) // функция для проверки слова
{
    for (int i = 0; i < checkWord.length() - 1; i++)
    {
        if (checkWord[i] && checkWord[i + 1] == 'б', 'в', 'г', 'д', 'ж', 'з', 'к', 'л', 'м', 'н', 'п', 'р', 'с', 'т', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'Б', 'В', 'Г', 'Д', 'Ж', 'З', 'К', 'Л', 'М', 'Н', 'П', 'Р', 'С', 'Т', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ')
        {
            return checkWord;
        }
    }
}
int main() {
    setlocale(LC_ALL, "Russian");
    string word;
    ifstream fin("input.txt"); // текстовый файл для чтения
    while (!fin.eof()) // цикл для вывода и получения слов
    {
        getline(fin, word);
        cout << wordsChecker(word) << ' ';
    }
    system("pause");
    return 0;
}
Answer 1

Ну, я бы делал примерно так (не тестировал, для изложения идеи):

bool check(const string& word)
{
    static char * vowels = "аеиоуэюяАЕИОУЭЮЯ";
    for(int i = 0; i < word.length()-1; ++i)
        if (strchr(vowels,word[i]) && strchr(vowels,word[i+1]))
            return true;
    return false;
}
int main()
{
    setlocale(LC_ALL, "Russian");
    string word;
    ifstream fin("input.txt"); // текстовый файл для чтения
    while(fin>>word)
        if (check(word)) cout << word << endl;
    system("pause");
    return 0;
}

Отдельный вопрос с кодировками, конечно... Для начала я бы подрессировал программу на английских текстах :)

READ ALSO
Мультипликативное хеширование

Мультипликативное хеширование

Занимался созданием хеш-таблицы, где необходимо было использовать мультипликативное хешированиеПодскажите пожалуйста правильно ли я его...

250
Упростить написание кода макросом

Упростить написание кода макросом

Имеется множество примерно таких методов:

260
Зашифровать файл и разшифровать

Зашифровать файл и разшифровать

При расшифровке в конце файла появляются лишние символыС чем это связано?

287
Запись и удаления из vector

Запись и удаления из vector

Как правильно удалять последний item из вот таких вот структур, и записывать следующий в самое начало, чтобы последующие iD повышались на 1

271