Форум программистов, компьютерный форум, киберфорум
Наши страницы

Какой самый универсальный способ считать UTF-8 текст на кириллице из файла? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка при запуска любого из проектов примеров directx sdk http://www.cyberforum.ru/cpp-beginners/thread948110.html
Вот собственно и ошибка LINK : fatal error LNK1123: сбой при преобразовании в COFF: файл недопустим или поврежден
C++ матрица яркости с помощью каких функций, методов можно получить значение яркости пикселя или может лучше матрицу яркости пикселей изображения на C++ для черно-белого и цветного изображения? из цветного можно... http://www.cyberforum.ru/cpp-beginners/thread948099.html
C++ Запись в фаил бОльшего числа цифр
Подскажите пожалуйста, что нужно использовать для того, чтобы записать в фаил число с большим количеством значимых цифр. ... fstream fs; if (!fs.is_open()) { ...
C++ Работа с двумерным массивом - разобрать строку кода
Изучаю С++ по книге Шилдт Г.(базовый курс 3-е издание). В теме двумерных массивов столкнулся со строкой, над которой сколько бы не ломал голову, не смог найти для себя её обьяснения.Помогите...
C++ Работа с вектором из класса http://www.cyberforum.ru/cpp-beginners/thread948028.html
Доброго времени суток ! Не до конца понимаю "Как это работает"© Есть вектор указателей, объявленный в main() vector<Employee*> emp; который там же и наполняется. Необходимо создать класс...
C++ Как убрать указатели на пробелы и табы Помогите пожалуйста... У Меня следующая проблема: http://i60.***********/thumb/2013/0903/54/e1ea807dc1af483a58b8a883f6cac154.jpeg Как Мне убрать то, что выделено в скриншоте(т.е. указатели на... подробнее

Показать сообщение отдельно
gore-lykovoe
32 / 32 / 1
Регистрация: 04.04.2010
Сообщений: 414
04.09.2013, 20:38  [ТС]
Цитата Сообщение от gromo Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
auto contents = [] (const std::string& fileName)->std::string {
        std::ifstream in(fileName, std::ios::binary);
 
        return std::string(std::istreambuf_iterator<char>(in),
            std::istreambuf_iterator<char>());
    };
 
    std::cout <<contents(std::string("utf-8.txt")) <<std::endl;
Вот так работает.
Кириллица отображается кракозябрами по-прежнему...
Исходный код:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <iostream>
#include <fstream>
#include <string>
 
int main(int argc, char *argv[])
{
    system("chcp 1251");
    //setlocale(LC_ALL, ".1251");
    for (int i=1; i<argc; i++)
    {
        auto contents = [] (const std::string& fileName)->std::string
        {
            std::ifstream in(fileName, std::ios::binary);
            return std::string(std::istreambuf_iterator<char>(in),
                std::istreambuf_iterator<char>());
        };
        std::cout <<contents(std::string(argv[i])) <<std::endl;
        /*std::ifstream file(argv[i]);
        if (!file.is_open())
            std::cout<<argv[i]<<": Файла с данным именем не существует\n";
        else
        {
            std::cout<<argv[i]<<std::endl;
            while (! file.eof() )
            {
                
                std::string buf;
                getline (file, buf);
                std::cout<<buf<<std::endl;
            }
        }*/
    }
    std::cout<<std::endl;
    std::system("pause");
    return 0;
}

visual studio 2012
Прикрепил сам текстовый файл
0
Вложения
Тип файла: txt 1.txt (629 байт, 10 просмотров)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru