Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 24.12.2015, 17:41   #1
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию __wchar_t

Добрый день !

Подскажите пожалуйста почему на экран не выводится строка ?

Код:
#include "stdafx.h"
#include <iostream>
#include <string>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	__wchar_t i[] = L"Фундаментальные типы";

		cout<<"i = "<<i<<endl;
	
	return 0;
}
Изображения
Тип файла: jpg Безымянный.JPG (14.2 Кб, 66 просмотров)
RAFA91 вне форума Ответить с цитированием
Старый 24.12.2015, 17:56   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,002
По умолчанию

используйте wcout.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 24.12.2015, 19:26   #3
Croessmah
Вредный кошак
Участник клуба
 
Аватар для Croessmah
 
Регистрация: 14.10.2012
Сообщений: 1,159
По умолчанию

И wchar_t, а не __wchar_t
Croessmah вне форума Ответить с цитированием
Старый 01.03.2016, 17:59   #4
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

может кто подскажет почему не выводится строка в вижуале 10 ?

Код:
#include "stdafx.h"
#include <iostream>
#include <wchar.h>
#include <string> 
#include <tchar.h>

using namespace std;

int main()
{
	
	wcout << L" Введите строку: "; 
	
	system("pause");
	return 0;
}
Изображения
Тип файла: jpg Безымянный.JPG (46.3 Кб, 57 просмотров)
RAFA91 вне форума Ответить с цитированием
Старый 01.03.2016, 18:13   #5
Alex11223
Заблокирован
 
Регистрация: 12.01.2011
Сообщений: 19,504
По умолчанию

А что выводится?
В стандартную консоль винды не так просто юникод вывести.
Alex11223 вне форума Ответить с цитированием
Старый 01.03.2016, 18:14   #6
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
А что выводится?
В стандартную консоль винды не так просто юникод вывести.
нечего не выводится в консоли.
RAFA91 вне форума Ответить с цитированием
Старый 01.03.2016, 19:20   #7
Croessmah
Вредный кошак
Участник клуба
 
Аватар для Croessmah
 
Регистрация: 14.10.2012
Сообщений: 1,159
По умолчанию

Можно поколдовать с
Код:
#include <iostream>
#include <io.h>
#include <fcntl.h>
#include <Windows.h>
int main(){
 
    _setmode(_fileno(stdout), _O_U8TEXT);
    _setmode(_fileno(stdin), _O_U8TEXT);
    //SetConsoleCP(CP_UTF8);
    //SetConsoleOutputCP(CP_UTF8);
    wchar_t * str=L"Моя строка\x2660\n";
    std::wcout<<str<<std::endl;
}
Но работать будет не везде.
Croessmah вне форума Ответить с цитированием
Старый 02.03.2016, 12:38   #8
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

на соседнем форуме я привел пример с

Код:
wcin.imbue(locale(".866")); 
    wcout.imbue(locale(".866"));
http://www.cyberforum.ru/cpp-beginne...ml#post8821767
RAFA91 вне форума Ответить с цитированием
Старый 02.03.2016, 17:04   #9
Croessmah
Вредный кошак
Участник клуба
 
Аватар для Croessmah
 
Регистрация: 14.10.2012
Сообщений: 1,159
По умолчанию

И причем здесь установка локали?
Ну попробуй вывести какой-нибудь символ юникодный,
помогла 866 локаль?
А раз юникод не нужен, то на кой черт wcout и wchar_t?
Croessmah вне форума Ответить с цитированием
Старый 02.03.2016, 17:26   #10
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

Цитата:
Сообщение от Croessmah Посмотреть сообщение
И причем здесь установка локали?
t?
потому что как сказал Alex11223


В стандартную консоль винды не так просто юникод вывести.

это метод. а не просто локаль

если есть желание то вот

https://otvet.mail.ru/question/97716853
RAFA91 вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы



Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840