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

Кроссплатформенный перевод русских букв в верхний/нижний регистр - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Шифр RSA http://www.cyberforum.ru/cpp-beginners/thread1148887.html
я написал шифр RSA но не могу понять как шифровать и расшифровать текст написанный с клавы или с файла?
C++ Дана таблица содержащая сведения об одежде: тип одежды Дана таблица содержащая сведения об одежде: тип одежды (пальто, платье, костюм), цвет (черный, серый, коричневый, пестрый), размер (36-52) и цена (рубли и копейки). а)найти количество и общую... http://www.cyberforum.ru/cpp-beginners/thread1148879.html
Нужно дописать программу C++
Добрый день. Программа работает, находит длину слов, только нужно в каждой строке поменять местами слова одинаковой длины и вывести в другой файл. #include <iostream> #include <fstream>...
Даны целые числа из промежутка от 1 до 10 C++
Даны целые числа из промежутка от 1 до 10. Определить количество чисел кратных 7 сумму четных элементов и производных элементов не кратных 3
C++ Бинарный файл http://www.cyberforum.ru/cpp-beginners/thread1148830.html
Есть бинарный файл, заполненный числами в 16-ричной форме а также разного рода символами. Необходимо проверить есть ли сочетание FFFF, если есть подсчитать количество и вывести на экран.
C++ Из двумерного массива вывести суммы диагоналей(параллельных главной) в одномерный массив? Как из двумерного массива вывести суммы диагоналей(параллельных главной) в одномерный массив? подробнее

Показать сообщение отдельно
DrOffset
7376 / 4453 / 1009
Регистрация: 30.01.2014
Сообщений: 7,304
16.04.2014, 09:36
Цитата Сообщение от Aitar Посмотреть сообщение
Как я понял какую локаль ставить зависит от кодировки текстового файла.
Локаль не зависит от кодировки текстового файла. От кодировки текстового файла зависит то, что будет содержать строка. Общий и правильный подход - не зашивать локализованные строки в исходник. Посмотри на подход, который предлагает Qt, основная суть:
1) Представление строк приложения едино (юникод);
2) Локализованные строки хранятся отдельно в контролируемом месте в какой-то конкретной кодировке;
3) Программа по-умолчанию использует текущую системную локаль.
----
Если брать конкретно функции toupper и tolower, то это дожны быть функции, которые работают с юникодом. Под windows принято использовать wchar_t варианты строк (ucs-2), в unix практически повсеместно используется char (utf-8).

Цитата Сообщение от Aitar Посмотреть сообщение
Будет ли этотже способ работать и под nix системами ?
Будет, только локаль там называется подругому. Это, можно считать, настроечная информация. Она должна определяться при старте программы (или в настройках).

По поводу кодировок и компилятора:
GCC - по-умолчанию считает, что файл в кодировке UTF-8. VC++, кажется, ставит кодировку в соответствии с локализацией системы, т.е. для русской windows это будет CP1251. Именно исходя из этого, хранить локализованные строки в исходнике - неправильно.
По поводу самописных вещей - зачем, когда есть стандартные. CP1251 почти не применяется в *nix, да и завязываться на однобайтную кодировку когда весь мир использует юникод - точно непортабельно.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru