![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Hamid |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 24.2.2005 Репутация: нет Всего: нет |
Пишу програмку на TurboC2.0, а сообщение printf на русском не пишется, только на английском, подскажите, пожалуйста, как написать его на русском!
|
|||
|
||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
на сколько я знаю, это не от си зависит, а от винды
|
|||
|
||||
| NiJazz |
|
|||
![]() Jazz coder ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2286 Регистрация: 10.8.2003 Где: Москва Репутация: 1 Всего: 23 |
Hamid
В Win32API есть функция для обработки строки - CharToOem. В 16-разрядных средах вряд ли есть такие средства. |
|||
|
||||
| Unknown_Error |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 3.1.2005 Репутация: нет Всего: нет |
Хм...
Вообще то нужен руссификатор! |
|||
|
||||
| Hamid |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 24.2.2005 Репутация: нет Всего: нет |
У меня WindowsXP SP1 |
|||
|
||||
| chaos |
|
||||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
и че дальше что стоит, у меня тоже стояла и так же не работали рус буквы |
||||
|
|||||
| Tripl-X |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 29.12.2004 Репутация: 1 Всего: 1 |
Borland C++ 5.2:
1. пишем функцию
2. Когда надо написать что-то:
3. Нельзя использовать более одного раза в одном printf 4. Надеюсь чем-нибудь помог... |
||||
|
|||||
| Hroft |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 20.10.2003 Где: Москва Репутация: нет Всего: 3 |
Обалдеть.
Tripl-X, ты что, сдуба рухнул, извини за выражение? Во-первых, ни о каком виндовсе вообще разговора нет, а во-вторых, КТО ЖЕ ВОЗВРАЩАЕТ ИЗ ФУНКЦИИ УКАЗАТЕЛЬ НА ЛОКАЛЬНУЮ НЕСТАТИЧЕСКУЮ ПЕРЕМЕННУЮ? Hamid: А вообще, такая же проблема и с паскалем 7.0, попробуй в качестве простого решения запускать из фара, в полном экране/в окне, а мож даже шрифт консоли в винде поменять. |
|||
|
||||
| Tripl-X |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 29.12.2004 Репутация: 1 Всего: 1 |
Тогда самое простое - выучить английский и писать на нем (в printf)
|
|||
|
||||
| chipset |
|
||||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
В данном случае, не вижу ничего за что следовало бы расстреливать на месте. Приведи пример в котором эта функция не сработала бы. --------------------
|
||||||||
|
|||||||||
| Adil' |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 26.8.2004 Где: Питер Репутация: 6 Всего: 15 |
chipset, какой такой пример - присмотрись внимательней: при выходе из ф-ции Rus массив char bufRus[255]; будет удален из стека - а мы возвращаем указатель на него. Так что Hroft прав, правда в несколько грубоватой форме...
Добавлено @ 11:28 Hamid, а у тебя в консоли вообще хоть что-то по русски пишется? Набрать русский текст в консоли можешь? Или может просто не можешь переключиться на русский в шкуре турбо С? -------------------- Удачи |
|||
|
||||
| chipset |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
На VC7.1 таким образом построенная функция выполняет свою задачу. Что предлагаете вы? Обьявить массив статически? --------------------
|
||||
|
|||||
| Дрон |
|
|||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 10 Всего: 93 |
chipset
Это тебе просто везёт Если вызвывать её непосредственно перед printf, то шансов на то, что она сработает много. Если же после её запуска повызывать всяких разных функций, чтобы попереписывать стек, то ничего хорошего не будет. Про такие вещи не стоит говорить, что, мол, у меня работает, значит всё нормально. -------------------- Да. Именно так. |
|||
|
||||
| Adil' |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 26.8.2004 Где: Питер Репутация: 6 Всего: 15 |
Это сообщение отредактировал(а) Adil' - 27.2.2005, 15:53 -------------------- Удачи |
|||
|
||||
| Hroft |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 20.10.2003 Где: Москва Репутация: нет Всего: 3 |
Sorry за выражение, но просто такая ошибка... Слов нет.
Я в таких случаях либо пользую std::string, либо, раз его нету, действительно сделал бы массив статическим в функции или даже глобальным в модуле, а то и во всей программе через специальный заголовок. Тогда можно было бы не только сразу после вызова Rus пользовать его, а и вплоть до следующего, навроде errno и GetLastError() |
|||
|
||||
| Гость_Владимир |
|
|||
|
Unregistered |
Попробуйте для набора текста исходника использовать редактор Ultraedit или MED. Там можно поставить галочку в настройках " OEM Character Set" и, если я правильно понял проблему, все сообщения в консоли будут по-русски. Возможно, придется выбрать шрифт Terminal.
|
|||
|
||||
| Hamid |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 24.2.2005 Репутация: нет Всего: нет |
Спасибо большое за внимание всем и за участие!!!!!
Я попробовал из командной строки запустить утилитку KEYRUS.COM, а затем запустить TC.EXE. Теперь могу переключаться на русский, нажав Shift+Ctrl, а затем (обязательно) нажимаю справа Shift+Alt. Правда приходится секунды три-четыре ждать, пока переключиться. Потом также переключаюсь на английский. А если без командной строки запускаю TC.EXE (и без запуска KEYRUS.COM), то на русский переключаюсь (даже быстрее, чем в предыдущем случае), но обратно на английский перейти не могу (никакие сочетания клавиш, которые переключают языки не помогают). |
|||
|
||||
| Hroft |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 20.10.2003 Где: Москва Репутация: нет Всего: 3 |
Тоже решение. Основано на эмуляции доса, ну так и tc.exe - досовская.
|
|||
|
||||
| Chudik |
|
|||
|
Unregistered |
Вообщем если кому то надо чтобы еще писал на русском то по tc у меня есть 2 файла которые кидаешь в глав. директорию и валя,есть русский язык.Если наджо стучи в ICQ:136115618
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |