Форум программистов, компьютерный форум CyberForum.ru

Чтение Unicode - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ «Вывод динамического изображения» http://www.cyberforum.ru/cpp-beginners/thread954406.html
«Вывод динамического изображения» Задание заключается в разработке программы создания динамического изображения. Изображение включает в себя простейшую фигуру, определяемую в соответствии с вариантом задания. Заданием определяются и другие параметры изображения. Динамическое изображение создается последовательными операциями вывода фигуры на экран, стиранием его и новым выводом изображения,...
C++ ДОС утилита ТЕМА: Написание пакетной утилиты ДОС средствами языка высокого уровня (ЯВУ). ЦЕЛЬ: Освоить средства модуля ДОС системы TURBO PASCAL (или средства модуля SysUtils системы DELPHI и т.д.) для работы с файловой структурой диска. Научиться обрабатывать рекурсивные структуры данных. Люди, вот такое задание, его можно так же выполнить на С, я так понимаю через Визуал Студио его не сделать.... http://www.cyberforum.ru/cpp-beginners/thread954397.html
C++ Построение блок схемы через программу FCEditor 1,6 для С++
Я точно не знаю в каком разделе спросить. По этому спросил здесь! В описаний написано что эта программе должна строить из С++, но мне выдает ошибку Line 4: Lexical Error: Cannot recognize token: #, почему не знаю. кто нибудь пользовался этой программой? Из паскаля строила! А тут вот ошибка. Конечно программа простая, но я хочу попробовать через программу)
Подскажите задачник по C++ C++
Здравствуйте. Если учишь язык по такой книге (внизу есть оглавление), то какой задачник посоветуете? Или хватит упражнений, которые присутствуют в учебнике?
C++ включение динамической библиотеки. Ошибка:ссылка на неразрешенный символ http://www.cyberforum.ru/cpp-beginners/thread954379.html
Создаю динамическую библиотеку, которая позволяла бы выводить на экран пути к системным каталогам. При подключении этой библиотеки выскакивают вот такие ошибки: Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ _WinMain@16 в функции ___tmainCRTStartup Ошибка 2 error LNK1120: 1 неразрешенных внешних элементов Подскажите, пожалуйста, что исправить нужно Код заголовочного файла...
C++ библеотека Boost.Date_time http://habrahabr.ru/post/66318/ мне бы воспользоваться ею, а как ее вызвать я ума не приложу :-| Добавлено через 3 минуты boost.org, дубина я, извиняюсь подробнее

Показать сообщение отдельно
Wollen
3 / 3 / 1
Регистрация: 19.08.2013
Сообщений: 26
15.09.2013, 20:13  [ТС]     Чтение Unicode
Цитата Сообщение от alsav22 Посмотреть сообщение
Вот код, с дополнениями zer0mail, который более или менее работает. Если BOM есть, то пропускает:
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
37
38
39
40
#include <iostream>
#include <fstream>
#include <Windows.h>
using namespace std;
 
int main()
{
    //setlocale(0, ".1251"); //включили кодировку.
    //SetConsoleCP (1251); 
    //SetConsoleOutputCP (1251); // или так.
    
    char buff[500];
    wchar_t wbuff[500];
    
    ifstream f("formula.txt", ios::binary);
    if (!f) cout << "Error!" << endl;
    else
    {
        f.get(buff, 4); // считали первые три байта
        
        if ((unsigned char)buff[0] == 0xEF && (unsigned char)buff[1] == 0xBB && (unsigned char)buff[2] == 0xBF); // если BOM есть, то читаем в буфер c позции за BOM
        else  f.seekg(0); // если BOM нет, то курсор в начало файла
        
        int i = 0;
        while (f.get(buff[i])) ++i;
        buff[i] = '\0';
        f.close();
        
        MultiByteToWideChar(CP_UTF8, 0, buff, 500, wbuff, 500); //из буфера char в буфер wchar_t .
        WideCharToMultiByte(866, 0, wbuff, -1, (LPSTR)buff, 500, "@", NULL);
        //setlocale(0, "rus_rus.866"); //включаем другую кодировку.
        //wcout << wbuff << endl; // выводим содержимое буфера wchar_t
        cout << buff << endl;
        //setlocale(0, ".1251"); // вернули кодировку.
    }
    
    cout << endl;
    system("pause");
    return 0;
}
Годный костыль, хотя и не выводит юникодину.
 
Текущее время: 03:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru