1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Чтение Русских Символов Из Файла

Тема в разделе "С и С++", создана пользователем Alvellu, 27 мар 2012.

  1. Alvellu

    Alvellu Гость

    Репутация:
    0
    Помогите пожалуйста с решением проблемы.
    Программа должна считывать символы из файла написанного заглавными русскими буквами и считать сколько раз в тексте повторяется та или иная буква.
    Не могу найти решения для сравнения полученных символов. Программа не считает символы ни в какую.
    Подскажите где ошибка, пожалуйста.

    Код:
    #include<iostream>
    #include<fstream>
    #include<cctype>
    #include<conio.h>
    using namespace std;
    
    int main()
    {
    setlocale (LC_ALL, "Russian");
    
    wifstream txtfile;
    wchar_t ch;
    const wchar_t alph[33]={L'А',L'Б',L'В',L'Г',L'Д',L'Е',L'Ё',L'Ж',L'З',L'И',L'Й',L'К',L'Л',L'М',L'Н',L'О',L'П',L'Р',L'С',L'Т',L'У',L'Ф',L'Х',L'Ц',L'Ч',L'Ш',L'Щ',L'Ъ',L'Ы',L'Ь',L'Э',L'Ю',L'Я'};
    int letters[33] = {0};
    
    
    txtfile.open("txtfile.txt", ios::binary);
    if (!txtfile) return -1;
    
    while(txtfile.get(ch))
    {
    if(isalpha(ch))
    {
    for(int i=0;i<33;i++)
    {
    if(ch==alph[i]) letters[i]++;
    }
    }
    }
    
    for(int i=0;i<33;i++) 
    wcout << alph[i] << L'\t' << letters[i] << endl;
    
    txtfile.close();
    
    wcout << endl << L"Press any key\n";
    getch();
    
    return 0;
    }
     
  2. lazybiz

    lazybiz Well-Known Member

    Репутация:
    0
    Регистрация:
    3 ноя 2010
    Сообщения:
    1.339
    Симпатии:
    0
    Может это связано с тем что файл с буквами у тебя записан не в UNICODE !?
     
  3. a0z

    a0z Well-Known Member

    Репутация:
    0
    Регистрация:
    15 мар 2011
    Сообщения:
    108
    Симпатии:
    0
    Наиболее простое решение:

    1. сохранить файл в CP1251
    2. Убрать L перед буквами, и поправить типы (wchar_t -> char)
    3. Сохранить исходник в CP1251
     
Загрузка...
Похожие Темы - Чтение Русских Символов
  1. seoman2
    Ответов:
    21
    Просмотров:
    1.251
  2. admigator
    Ответов:
    10
    Просмотров:
    989
  3. AlexPNZ
    Ответов:
    3
    Просмотров:
    2.132
  4. AlexPNZ
    Ответов:
    0
    Просмотров:
    1.722
  5. eugira
    Ответов:
    1
    Просмотров:
    1.246

Поделиться этой страницей