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

Непонятка с кодировкой - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Порекомендуйте задачи по функциям http://www.cyberforum.ru/cpp-beginners/thread339142.html
Плиз дайте задачек по функциям очень надо!
C++ Отладка :) Доброго времени суток. Подскажите пожалуйста! Делаю отладку в Visual Studio. Хочу чтобы выполнилось условие if. Какое сочетание клавиш использовать? Заранее спасибо :) http://www.cyberforum.ru/cpp-beginners/thread339140.html
C++ Ошибка
Народ, здарова!!! Тупой вопрос, почему не работает функция #include<iostream.h> #include<conio.h> #include<string.h> enum Shape{prizm,parallelepiped,cube,pyramid,cone,cylinder}; class Body { protected:
C++ вставка своего алгоритма в контекстное меню
Создал небольшой алгоритм редактирующий текст. Хочу сделать так, что бы он работал при нажатии на выделенный текст правой кнопкой и выбором соответствующего пункта из списка, или нажатием комбинации клавиш. Но как сделать это не знаю. Нашел реализацию этого на других языках, но только не на с++. Расскажите доходчиво как это сделать или хотя бы скажите в каком направлении копать. Заранее благодарю.
C++ здравствуйте, можете объяснить? http://www.cyberforum.ru/cpp-beginners/thread339096.html
Я нашел код в разделе "для профессионалов" - там задачка, которая решается с помощью формулы Зеллера..... #include <iostream> int main() { int year, mon, day, yyear, hund, dday; std::cout<<"Enter day, month and year: "; std::cin>>day>>mon>>year; std::cout<<"Date is: "<< day <<"/"<< mon <<"/" << year <<'\n';
C++ Зачем в случае присваивания делают ссылку/указатель на аргумент константным Здравствуйте, позвольте я задам вопрос по С++ 1) void Class::set(const int & i) { qwerty = i; } Зачем в случае присваивания делают ссылку/указатель на аргумент константным подробнее

Показать сообщение отдельно
silentnuke
Android Programmer
137 / 138 / 5
Регистрация: 08.12.2010
Сообщений: 421
05.08.2011, 07:36     Непонятка с кодировкой
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>
#include <string>
 
std::string narrow(std::wstring const & wstr, std::locale const & loc, char def = '?')
{
    if (wstr.empty())
        return std::string();
 
    std::string ret;
    ret.resize(wstr.length());
 
    std::use_facet<std::ctype<wchar_t> >(loc).narrow(&wstr[0], &wstr[0] + wstr.length(), '?', &ret[0]);
 
    return ret;
}
 
std::wstring widen(std::string const & str, std::locale const & loc)
{
    if (str.empty())
        return std::wstring();
 
    std::wstring ret;
    ret.resize(str.length());
 
    std::use_facet<std::ctype<wchar_t> >(loc).widen(&str[0], &str[0] + str.length(), &ret[0]);
 
    return ret;
}
 
std::string to1251(std::string const & cp866)
{
    std::string ret;
    ret.reserve(cp866.length());
 
    for (std::size_t i = 0, e = cp866.length(); i < e; ++i)
    {
        wchar_t wide = std::use_facet<std::ctype<wchar_t> >(std::locale(".866")).widen(cp866[i]);
        ret.push_back(std::use_facet<std::ctype<wchar_t> >(std::locale(".1251")).narrow(wide, '?'));
    }
 
    return ret;
}
 
int main()
{
    setlocale(LC_ALL,"rus");
    std::cout<<"Введите строку\n";
    std::string cp866;
    std::cin>>cp866; // Кодировка в консоли — CP866
    std::string cp1251 = to1251(cp866); // Преобразуем в CP1251
    std::cout<<cp1251;
    return 0;
}
как вариант=)
 
Текущее время: 01:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru