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

UTF8 в C++ или killmepls - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Определить самую большую четную и самую маленькую нечетную цифру в матрице и сложить их http://www.cyberforum.ru/cpp-beginners/thread1601076.html
Помогите решить задачу: Дана матрица N,M, определить самую большую четную и самую маленькую нечетную цифру и сложить их вместе
C++ Метод сопряженных градиентов Двумя различными методами решить задачу, сравнить методы. Метод сопряженных градиентов и метод градиентного спуска f(x,y)=(x-y+2)-x^2-y^2/3\rightarrow min, x^0=(0,0) http://www.cyberforum.ru/cpp-beginners/thread1601073.html
C++ Посмотрите пожалуйста где ошибка. Запись текста в файл
#include <iostream>//программа для записи текста в файл. #include <fstream> #include <string> using namespace std; int main() { string text; ofstream fout("Txt.txt"); //создать объект класса fout.open("Txt.txt");
C++ Всевозможные варианты перебора слова разной длины
Было задание, перебрать вводимое слово по всевозможным вариантам разной длины. Сделал, решил выложить сюда. P.S. большая часть кода принадлежит человеку под ником go. Тему, в которой он писал не нашел, а плагиатить не хотелось. P.P.S. задание было для работы со строками в стиле C. Понимаю, cin и cout лучше, но ... #include <stdio.h> #include <windows.h> using namespace std;
C++ Передача простого массива в WinSOCK http://www.cyberforum.ru/cpp-beginners/thread1601047.html
Дело следующее. Дан исходный код UDP-клиента // пример простого UDP-клиента #include <stdio.h> #include <string.h> #include <winsock2.h> #include <windows.h> #define PORT 666 #define SERVERADDR "127.0.0.1"
C++ сравнить методы Двумя различными методами решить задачу, сравнить методы. подробнее

Показать сообщение отдельно
nmcf
4265 / 3696 / 1243
Регистрация: 14.04.2014
Сообщений: 14,476
03.12.2015, 21:34     UTF8 в C++ или killmepls
А ты толком и не спросил. Что делать хочешь? Работать с файлами utf8? Я же сказал - через codecvt, это стандартная возможность. Непосредственно с utf8 работать неудобно, хотя библиотеки такие вроде бы есть, поэтому он преобразуется в wchar_t для обработки.
TCHAR - это такой тип, придуманный в Microsoft, который либо char, либо wchar_t в зависимости от настроек. Но вот что касается универсальности - всё зависит от используемого набора символов. Возьмёшь какой-нибудь экзотический символ и он в старой кодировке не сработает.
В WinAPI не используется utf8, функции на utf16 работают, хотя средства перекодирования туда и обратно имеются.
Короче говоря, схема такая: преобразуешь в wchar_t и работаешь, а сохранить можно перекодировав назад.

Добавлено через 6 минут
Вот открытие файла utf8. Текст сразу преобразуется в wchar_t:
C++
1
2
3
4
std::wifstream ifile(L"data.txt");
ifile.imbue(locale(locale(), new std::codecvt_utf8<wchar_t, 0x10ffffUL, std::codecvt_mode::consume_header>));
std::wstring s;
std::getline(ifile, s);
 
Текущее время: 07:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru