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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Внимание! Есть замечания модератора по теме: так точнее
Старый 30.03.2016, 17:00   #31
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от RAFA91 Посмотреть сообщение
Малость теперь начинаю выезжать.

если теперь прочитать эти каракули в другой массив и вывести на экран то

вновь получу слово МОСКВА.

___________________________________ __________

далее вспомнил про функцию OemToChar(a,b);

out<<b; теперь в файле слово МОСКВА.

это произошла перекодировка в ВИНДОВС из ДОСА ?
да.
блокнот при этом умеет такие файлы читать, но там тип файла надо менять.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Старый 30.03.2016, 17:15   #32
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

тоесть в условии задания шло про возможность читать эту запись ?
Изображения
Тип файла: jpg Безымянный.JPG (29.8 Кб, 58 просмотров)
RAFA91 вне форума
Старый 31.03.2016, 13:39   #33
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

Не могу выехать почему на экран не выводится слово с русскими шрифтами ?

в файле записано ЂЌ’ЋЌ€ЌЂ

Код:
hdc = BeginPaint(hWnd, &ps);
		in.open("C:\\Hello.txt");
		in>>c;
		in.close();
		for (i=0;i<strlen(c);i++) d[i] = (TCHAR)c[i];
		d[i] = (TCHAR)c[i];
		CharToOem(d,b);
	    TextOutA(hdc,0,0,b,strlen(b));
		EndPaint(hWnd, &ps);
Изображения
Тип файла: jpg Безымянный.JPG (10.7 Кб, 50 просмотров)
RAFA91 вне форума
Старый 31.03.2016, 13:46   #34
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Потому что блокнот не знает какую кодировку вы ему подсунули.
Вообще текст в файлах лучше в UTF-8 хранить если нет причин делать иначе.

И TextOutA скорее всего не OEM кодировку ожидает.

А в консоль обычно никто не пишет не латиницей, особенно на винде.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума
Старый 31.03.2016, 13:52   #35
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

как правильно преобразовать строку в TCHAR из CHAR ?

в блокноте нормальные русские буквы. но на экране опять хз.

я преобразовывал так

Код:
for (i=0;i<strlen(c);i++) d[i] = (TCHAR)c[i];
		d[i] = (TCHAR)c[i];
TextOut(hdc,0,0,d,_tcslen(d));
Изображения
Тип файла: jpg Безымянный.JPG (11.6 Кб, 53 просмотров)
RAFA91 вне форума
Старый 31.03.2016, 13:56   #36
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

TCHAR это ж просто майкрософтовский макрос (который непонятно зачем использовать) зависящий от установленности флага _UNICODE. То есть char если не стоит или wchar_t если стоит.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума
Старый 31.03.2016, 14:00   #37
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

сейчас стоит wchar_t.

но мне надо сделать универсальное преобразование из CHAR в TCHAR?

почему так не работает ?

for (i=0;i<strlen(c);i++) d[i] = (TCHAR)c[i];
d[i] = (TCHAR)c[i];
RAFA91 вне форума
Старый 31.03.2016, 14:03   #38
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

если в файле DOS, то может вам из нее все же надо? а не в нее.
OemToChar

далее, никакой конверсии руками вы делать не должны если делаете все верно.
в 90% случаев если вы применяете С-cast или static_cast, то значит что-то делаете не так(исключение работа с указателями)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Старый 31.03.2016, 14:12   #39
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

сейчас вопрос стоит просто считать из обычного блокнота строку.

пока не будем трогать всякие там досы.

в блокноте написано РПРО

Код:
CHAR b[200];
	CHAR c[200];
	TCHAR d[200];
1. считываю in>>c;
2. преобразовываю

Код:
for (i=0;i<strlen(c);i++) d[i] = (TCHAR)c[i];
		d[i] = (TCHAR)c[i];
3. вывожу
Код:
TextOut(hdc,0,0,d,_tcslen(d));
получаю не то что надо.

как исправить ?
RAFA91 вне форума
Старый 31.03.2016, 14:19   #40
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Не бывает обычного блокнота. Даже сам блокнот умеет сохранять и в UTF-8, и в локальную (1251 для русской локали).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мои фантазии про С++11 RAFA91 Общие вопросы C/C++ 265 18.07.2016 15:15
Проблема кодировок Anarios JavaScript, Ajax 2 25.12.2011 11:06
Стандартные средства = бесконечный полет фантазии. Alex Cones Софт 2 27.07.2009 17:10
Проблема кодировок!!! chekanoff Общие вопросы Delphi 4 04.12.2007 00:03