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

Работа с кодировками файла (АНСИ и ЮТФ-8) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ нужна зарезервированная макро константа для максимального значения unsigned int http://www.cyberforum.ru/cpp-beginners/thread1045517.html
Ребят, срочно нужна зарезервированная макро константа для максимального значения unsigned int. Я могу ошибаться, но по-моему она должна быть. И по возможности, если кто знает источник, где есть все макросы библиотеки или хотя бы основные.
C++ Поиск наибольшей возрастающей последовательности Изначально у меня была такая задачка: даны N положительных целых чисел, которые не делятся ни на какие простые числа, кроме 2 и 3. Требуется выкинуть минимально возможное количество чисел так, чтобы из любых двух оставшихся одно делилось на другое. Путем долгих рассуждений она свелась к задаче поиска наибольшей возрастающей последовательности на одном из полей структуры. К моему счастью, я... http://www.cyberforum.ru/cpp-beginners/thread1045516.html
C++ Поменять попарно элементы массива
Задача 1.. Дан массив с четным числом элементов. Поменять местами его первый элемент со вторым, третий с четвёртый и т.д.... одна тема - одна задача. читайте правила форума Решите алгоритмом и обозначениями для начинающих пожалуйста)) заранее спасибо!
Выч. сумму бесконечного ряда с точностью ep C++
Ребят помогите пожалуйста( очень научиться хочется и понять, задали вот такое задание. Дано: x0, h, xk, eps=10^-3 вычислить сумму бесконечного ряда с точностью eps. Вот на c++, очень надо понять и написать, спасибо. cos(x)= \sum_{i=0 }^{\propto}{(-1)}^{i}*\frac{{x}^{2i}}{(2i)!}
C++ Вычислить произведение двух чисел http://www.cyberforum.ru/cpp-beginners/thread1045504.html
Вычислить произведение двух чисел. Первое число - сумма третьей и четвертой цифр четырехзначного числа, второе - частное от деления первой цифры четырехзначного числа на вторую цифру числа.
C++ Двумерный массив Дан двумерный квадратный массив из 16 элементов.Написать программу, которая находит и выводит количество элементов массива, значение которых больше среднего арифметического значения элементов этого массива. P.S. Ребята, помогите пожалуйста!!! подробнее

Показать сообщение отдельно
BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 344
20.12.2013, 15:04  [ТС]
Цитата Сообщение от Evg Посмотреть сообщение
Это нигде не указывается. Это данность. Т.е. ты сам с собой договорился и в первой программе всегда пишешь UTF8, а во второй - читаешь UTF8
Каким образом это реализовать?

Попробовал применить функцию MultiByteToWideChar следующим образом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
std::ifstream fin("f:\\Romka.txt");
if (!fin)
    return 1;
 
std::string strBuffer;
char ch;
 
while(fin.get(ch))
    strBuffer+=ch;
fin.close();
 
int size = MultiByteToWideChar(CP_ACP,0,strBuffer.c_str(),-1,NULL,0);
PWSTR temp = new wchar_t[size];
MultiByteToWideChar(CP_ACP,0,strBuffer.c_str(),-1,temp,size);
 
std::wstring wstrBuffer(temp); //контейнер, который нужно заполнить UTF
 
wcerr << wstrBuffer; //почему-то ничего не выводится
Почему то не выводится через std::wcerr<<wstrBuffer, c чем связана проблема? (буфер заполняется правильно)

Также попробовал, используя функцию WideCharToMultiByte перевести символы в ANSI. Файл (test.txt) в кодировке UTF-8.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
SetConsoleOutputCP(1251);
std::wifstream wfin("f:\\test.txt");
if (!wfin)
    return -1;
 
TCHAR wch;
std::wstring wstrBuffer;
while(wfin.get(wch))
    wstrBuffer+=wch;
 
wfin.close();
 
int size = WideCharToMultiByte(CP_ACP,0,wstrBuffer.c_str(),-1,NULL,0,NULL,NULL);
PSTR temp = new char[size];
WideCharToMultiByte(CP_ACP,0,wstrBuffer.c_str(),-1,temp,size,NULL,NULL);
std::string strBuffer(temp);
cerr << endl << "STR: " << strBuffer << endl;
Почему-то все русские символы не распознались (выводятся как символы '?'), а английские символы вывелись нормально.
Что сделать, чтобы начал распознаваться русский язык в этом примере?
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru