cout<<"русский текст" в консоль. Проблема с кодировкой
От: flax Беларусь  
Дата: 04.02.04 09:13
Оценка:
пытаюсь выполнить
cout<<"русский текст";

проект Win32 -console alication.

выводит текст в DOS кодировке.

что сделать (как изменить свойство потока)

cпасибо
Re: cout<<"русский текст" в консоль. Проблема с кодировкой
От: Павел Кузнецов  
Дата: 04.02.04 09:27
Оценка:
Здравствуйте, flax, Вы писали:

f> пытаюсь выполнить

f> cout<<"русский текст";
f> проект Win32 -console alication.
f> выводит текст в DOS кодировке.

http://rsdn.ru/search/?q=%EA%EE%ED%F1%EE%EB%FC+%F0%F3%F1%F1%EA%E8%E9+%EA%EE%E4%E8%F0%EE%E2%EA%E0&amp;mode=rank
Posted via RSDN NNTP Server 1.7 "Bedlam"
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re: cout<<"русский текст" в консоль. Проблема с кодировкой
От: LaptevVV Россия  
Дата: 04.02.04 10:00
Оценка:
Здравствуйте, flax, Вы писали:

F>пытаюсь выполнить

F>cout<<"русский текст";

F>проект Win32 -console alication.


F>выводит текст в DOS кодировке.


F>что сделать (как изменить свойство потока)


Простейший способ — использовать функцию WinAPI CharToOem — найдешь в helpe
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: cout<<"русский текст" в консоль. Проблема с кодировкой
От: Oleg A. Bachin Украина  
Дата: 04.02.04 10:02
Оценка:
Здравствуйте, flax, Вы писали:

F>пытаюсь выполнить

F>cout<<"русский текст";

F>проект Win32 -console alication.


F>выводит текст в DOS кодировке.


F>что сделать (как изменить свойство потока)


тебе нужно изменить настройки консоли —
смотри ф-ции: GetConsoleCP, SetConsoleOutputCP и GetConsoleOutputCP.
думаю по названию понятно.

F>cпасибо
Best regards,
Oleg A. Bachin
Re[2]: cout<<"русский текст" в консоль. Проблема с кодировк
От: flax Беларусь  
Дата: 04.02.04 10:03
Оценка:
Здравствуйте, Павел Кузнецов,:

спасибо, как это ни удивительно, но помогло.

SET LUCIDA CONSOLE 2 CONSOLE
+
#include <stdio.h>
#include <windows.h>
#pragma setlocale("rus_rus.1251") //Текст программы написан, используя кодировку 1251
main()
{
UINT uCP = GetConsoleOutputCP();
printf("Current CP is %d\n", uCP);
SetConsoleOutputCP(1251); //Выставляем русскую кодовую страницу для консоли
uCP = GetConsoleOutputCP();
printf("Current CP is %d\n", uCP);
printf("Привет \n"); //Русский текст должен быть написан в кодировке 1251
}
Re: cout<<"русский текст" в консоль. Проблема с кодировкой
От: Olegator  
Дата: 05.02.04 11:53
Оценка: 1 (1)
Здравствуйте, flax, Вы писали:

F>пытаюсь выполнить

F>cout<<"русский текст";

F>проект Win32 -console alication.


F>выводит текст в DOS кодировке.


F>что сделать (как изменить свойство потока)


F>cпасибо


Используй объект wcout:

#include <iostream>

using namespace std;

int main()
{
    wcout.imbue(locale(".866"));

    wcout << L"русский текст";

    return EXIT_SUCCESS;
}


С уважением,
Olegator
... << RSDN@Home 1.1.3 beta 1 >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.