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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
thick_int
Заблокирован
#1

Снова о локализации - C++

02.05.2012, 21:33. Просмотров 392. Ответов 5
Метки нет (Все метки)

Ранее было много рецептов относитьельно локализации консоли.
Выведя, одну строку в поток на русском можно было, но после этого ввод в cin с последующим вводом в cout косячил. (Причем неважно какие потоки использовались, обычные или широкие).

Мне, как то неожиданно удалось решить эту проблему, но опять же, скорее везение.
Вот хотелось бы, чтобы опытные люди объяснили, почему данная программа работает совершенно корректно с точки зрения руссифицированного вывода на консоль:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "stdafx.h"
#include <iostream>
#include <string>
#include <locale>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    locale::global(locale(""));
    wcin.imbue(locale(".OCP"));
    wcout.imbue(locale());
 
    wcout << L"Привет мир!" << endl;
    wstring a;
    wcout << "Введите слово на русском языке: ";
    wcin >> a;
    wcout << a << endl;
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.05.2012, 21:33     Снова о локализации
Посмотрите здесь:

И снова malloc... C++
C++ И снова палиндром
и снова строки C++
C++ и снова С++
Статьи по локализации программ. C++
C++ Вывод даты в русской локализации (Linux)
C++ Снова Pacman
C++ и снова змейка
Где хронятся именнованые локализации C++
и снова графика в C++ C++
C++ Как сделать чтобы таймер дойдя до 0 стартовал снова и снова?
C++ Ошибка русской локализации?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
eYroN
0 / 0 / 0
Регистрация: 02.05.2012
Сообщений: 4
02.05.2012, 21:40     Снова о локализации #2
Русский ввод и русский вывод

Читай мой комментарий
thick_int
Заблокирован
02.05.2012, 21:49  [ТС]     Снова о локализации #3
Вот Вы пишите: После создания проекта в MVS, сохраните его в Кириллица (DOS) - кодовая страница 866 и никаких setlocale и др. не нужно.

Объясните поподробнее, что значит сохранить в Кирилице. Точнее как это делается.
eYroN
0 / 0 / 0
Регистрация: 02.05.2012
Сообщений: 4
02.05.2012, 22:01     Снова о локализации #4
"Файл"--"Сохранить как"---нажать на треугольничек рядом с "Сохранить" ---"Сохранить с кодировкой..."
thick_int
Заблокирован
02.05.2012, 22:11  [ТС]     Снова о локализации #5
Отличный метод. Работает, как ни удивительно.
Но все же хотелось узнать, каким способом достигается безупречная работа консольного метода WriteLine. Вряд ли серьезный софт пишется с использованием таких хаков.
Кстати, что бы Вы делали, если бы Вам нужно было бы также лихо воспользоваться, например, немецкой локализацией.
eYroN
0 / 0 / 0
Регистрация: 02.05.2012
Сообщений: 4
02.05.2012, 22:22     Снова о локализации #6
Ну... дальше я нуль уж извините
Yandex
Объявления
02.05.2012, 22:22     Снова о локализации
Ответ Создать тему
Опции темы

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