Форум программистов, компьютерный форум 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. Ребята, помогите пожалуйста!!! подробнее

Показать сообщение отдельно
MrGluck
Ворчун
Эксперт CЭксперт С++
6435 / 3633 / 452
Регистрация: 29.11.2010
Сообщений: 9,602
21.12.2013, 15:19     Работа с кодировками файла (АНСИ и ЮТФ-8)
Если проект юникодный, то все должно быть юникодным. Кодировку советую UTF-8, все работы производить с std::wstring, std::wifstream, std::wofstream.
Да и еще:
C++
1
2
3
4
5
// задаем корректный формат вывода. C++11
void make_UTF16_output(std::wostream& out)
{
    out.imbue(std::locale(out.getloc(), new std::codecvt_utf8<wchar_t>));
}
wifstream и wofstream открывать в бинарном режиме (работают с файлами UTF8).

В свое время я много часов потратил, чтобы понять, что поганая студия не может записать в файл "как есть", а где-то глубоко в недрах вызывает WideCharToMultiByte.
Есть еще вариант извращенный, если С++11 нет возможности использовать:
открывать файл через fopen с флагом ccs=UTF-8 и далее передавать указатель на файловую переменную в поток.
http://msdn.microsoft.com/en-us/library/yeby3zcb.aspx

И последний вариант: iconv
 
Текущее время: 01:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru