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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 5.00
Olejeg85
13 / 10 / 0
Регистрация: 27.03.2011
Сообщений: 164
#1

Как выводить строки в unicode? - C++

03.07.2011, 16:56. Просмотров 1747. Ответов 6
Метки нет (Все метки)

почему не выводит на экран строки в формате unicode? в win32 прикрасно работает, а в консоле не выводит...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <windows.h>
using namespace std;
 
int main()
{
    WCHAR word[]=L"привет";
    wcout << word << endl;
 
    system("pause");
    return 0;
 
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.07.2011, 16:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как выводить строки в unicode? (C++):

Как выводить переменные окружения и аргументы командной строки? - C++
Доброго времени суток) Может рассказать как выводить переменные окружения и аргументы командной строки? Задание звучит примерно так:...

Unicode - указатели на строки - C++
Добрый день! Работаю в VS 2010. Для начала приведу вырезку из кода: void Rational::errorMsg() const { ...

Формат строки в кодировке Unicode? - C++
Какой формат соответствует строке в кодировке UNICODE?

При вводе строки выводить только цифры - C++
#include &quot;stdafx.h&quot; #include &quot;stdio.h&quot; #include &quot;iostream&quot; #include &quot;ctype.h&quot; using namespace std; void read(char *x) { int i...

Как конвертировать Unicode в Ansi? - C++
Я написал свою функцию конвертирования из Unicode в Ansi, но она не правильно кодирует символы русского языка. Как такое исправить? ...

Как отменить действие макроса UNICODE? - C++
#undef UNICODE не работает. Но всё по порядку. Друзья! Недавно качнул один из компиляторов компилятор gcc, вот начинаю работать. ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
nameless
Эксперт C++
334 / 298 / 14
Регистрация: 16.06.2009
Сообщений: 486
03.07.2011, 17:15 #2
Olejeg85,

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <string>
#include <locale>
 
int main()
{
    std::wcout.imbue(std::locale(".866"));
    std::wstring str = L"Текст строки...";
 
    std::wcout << str << std::endl;
 
    return 0;
}
0
grizlik78
Эксперт С++
1911 / 1443 / 112
Регистрация: 29.05.2011
Сообщений: 3,000
03.07.2011, 17:17 #3
достаточно было просто добавить
C++
1
setlocale(LC_ALL,"");
Впрочем, в линуксе всё-равно правильно работать не будет.
0
Olejeg85
13 / 10 / 0
Регистрация: 27.03.2011
Сообщений: 164
03.07.2011, 17:21  [ТС] #4
а без setlocale(LC_ALL,""); никак не будет?
0
grizlik78
Эксперт С++
1911 / 1443 / 112
Регистрация: 29.05.2011
Сообщений: 3,000
03.07.2011, 17:24 #5
Так или иначе локаль указать придётся.
Хотя про линукс я не совсем прав. Как раз setlocale(LC_ALL, "") помогает в обоих случаях.
0
xAtom
915 / 740 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
03.07.2011, 17:32 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
 
void main(void) {
    
setlocale(LC_ALL, "rus_rus.866");
 
wprintf(L"Вот строка в Unicode, ведите что-нибудь:\n");
 
wchar_t str[32];
wscanf(L"%s", str);
    
wprintf(L"%s\n", str);
 
system("pause");    
 
}
0
grizlik78
Эксперт С++
1911 / 1443 / 112
Регистрация: 29.05.2011
Сообщений: 3,000
03.07.2011, 17:38 #7
Цитата Сообщение от xAtom Посмотреть сообщение
setlocale(LC_ALL, "rus_rus.866");
Всё-равно не понимаю, зачем указывать системо-зависимую локаль, когда пустая строка "" работает точно также, только в десять раз лучше
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.07.2011, 17:38
Привет! Вот еще темы с ответами:

Составить программу,которая из заданной строки символов выводить буквы по алфавиту - C++
составить программу,которая из заданной строки символов выводит буквы по алфавиту

Необходимо удалить нужную строку из структуры. Думала просто выводить нужные строки,но не получается - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;clocale&gt; #include &lt;Windows.h&gt; #include &lt;locale&gt; using...

Как получить код символа unicode в std::wstring? - C++
Собственно есть QString (Qt), из него конечно же могу получить std::wstring. Так вот, нужен код каждого символа и желательно, чтоб этот...

Как в консоли или в окне winapi отображать определенный набор букв из стандарта unicode? - C++
Как в консоли или в окне winapi отображать определенный набор букв из стандарта unicode?


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
03.07.2011, 17:38
Ответ Создать тему
Опции темы

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