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

Из UTF-8 коды символов CP866 - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Убрать костыль typedef http://www.cyberforum.ru/cpp-beginners/thread1562230.html
#include <iostream> using std::cout; #include <cstring> using std::strlen; template <typename T> T maxn(const T * ,int n); typedef char* R;//почему то без этого невыходит
C++ Linked List Tasks правильно ли я сделал задания? спасибо! http://www.cyberforum.ru/cpp-beginners/thread1562221.html
C++ Работа с файлами: изменение регистра символа на противоположный
Всем привет нужно составить вот такую программу Функция обработки символа : Изменение регистра на противоположный (рус) ВОт то что я уже написал : #include <iostream> #include <fstream> #include <ctype.h>
Вывод данных об окружности по одному значению C++
Элементы окружности пронумерованы следующим образом: 1 - Радиус, 2 - диаметр, 3 - длина, 4 - площадь круга. Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данной окружности( в таком же порядке).
C++ Найти все натуральные числа из промежутка от 1 до 200, у которых сумма цифр равна S http://www.cyberforum.ru/cpp-beginners/thread1562209.html
Найти все натуральные числа из промежутка от 1 до 200, у которых сумма цифр равна S (S вводить с клавиатуры).
C++ Найти все трехзначные числа из промежутка, произведение первой и последней цифр которых равно 12 Найти все трехзначные числа из промежутка (100; 750), такие, что произведение их первой и последней цифр равно 12. подробнее

Показать сообщение отдельно
zer0mail
2188 / 1871 / 187
Регистрация: 03.07.2012
Сообщений: 6,661
Записей в блоге: 1
26.10.2015, 12:29     Из UTF-8 коды символов CP866
Перекодировка для Win1251:
C++
1
2
3
4
5
6
7
8
9
10
11
        
while ((inchar=fgetc(fidin))!=EOF)  {
// D0 (208) 'Р', D1(209) 'С' 
     if (inchar==208||inchar==209) {
           outchar=(inchar<<6)+(fgetc(fidin)&63)+176; 
           if (outchar==13489) outchar=168; // Ё
           if (outchar==13569) outchar=184; // ё
     }
     else outchar=inchar;
     fputc(outchar,fidout); // вывод младшего байта
}
Для ДОСа надо:
1. 176->128 (код "А" кириллицы)
2. учесть, что "рсту.." сдвинуты
3. изменить коды для Ёё
 
Текущее время: 02:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru