Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.10.2009, 15:02   #1
sde
Новичок
Джуниор
 
Регистрация: 09.10.2009
Сообщений: 7
По умолчанию £

Как в консоли вывести знак £ ?
Вот код:

Код:
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	setlocale(LC_ALL, "Russian"); 
	unsigned char a=0;
	int i=0;
	while(i<=255)
	{
		cout << i << "..."<< a << endl;
		a++;
		i++;
	}

	_getch();
	return 0;
}
При выводе вместо 156-ого симовола £ получается символ ?

Последний раз редактировалось Sazary; 10.10.2009 в 01:53.
sde вне форума Ответить с цитированием
Старый 09.10.2009, 17:04   #2
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию

По идее это зависит от шрифта (то есть от свойств окна). Far нормально показывает этот знак, если поставить шрифт Lucida Conslole. Если стоит растровый шрифт - показывает кривой фак.
ds.Dante вне форума Ответить с цитированием
Старый 12.10.2009, 14:14   #3
sde
Новичок
Джуниор
 
Регистрация: 09.10.2009
Сообщений: 7
По умолчанию

Шрифт менять на Lucida Conslole я уже пробовал. Та же самая ерунда получается.
Вывод меняется в зависимости от того какую локаль прописываю. Но всё равно вместо части символов получаются вопросительные знаки.

HELP!!! HELP!!! HELP!!! HELP!!! HELP!!! HELP!!! HELP!!! HELP!!! HELP!!!
sde вне форума Ответить с цитированием
Старый 12.10.2009, 15:33   #4
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию

Интересно. Чтобы ввести этот знак нужно набрать Alt+0163 (без нуля не катит). А команда cout << (int)'£'; выводит 63. Не знаю, откуда взялось
Цитата:
Сообщение от sde Посмотреть сообщение
При выводе вместо 156-ого симовола £

Лично мне не удалось вывести этот знак в консоль.
ds.Dante вне форума Ответить с цитированием
Старый 12.10.2009, 16:03   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

£ а он не Юникодовский случайно?
именно поэтому иногда он есть(на одних шрифтах и чарсетах) а иногда нет
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 19.10.2009, 10:32   #6
sde
Новичок
Джуниор
 
Регистрация: 09.10.2009
Сообщений: 7
По умолчанию

Есть у кого нибудь мысли почему не получается вывести этот символ?
sde вне форума Ответить с цитированием
Старый 19.10.2009, 11:23   #7
Cpluser
Форумчанин
 
Аватар для Cpluser
 
Регистрация: 16.02.2009
Сообщений: 555
По умолчанию

Почему так не выводит?!
Код:
#include <iostream>
#include "stdafx.h"
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	cout<<(wchar_t)156<<endl;
	system("pause");
	return 0;
}
Cpluser вне форума Ответить с цитированием
Старый 19.10.2009, 16:34   #8
sde
Новичок
Джуниор
 
Регистрация: 09.10.2009
Сообщений: 7
По умолчанию

Так выводит 156, а хочется £.....

Кто-нибудь знает?
sde вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск