Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> В TurboC2.0 не могу написать на русском сообщение. 
:(
    Опции темы
Hamid
Дата 24.2.2005, 03:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 24.2.2005

Репутация: нет
Всего: нет



Пишу програмку на TurboC2.0, а сообщение printf на русском не пишется, только на английском, подскажите, пожалуйста, как написать его на русском!
PM MAIL   Вверх
chaos
Дата 24.2.2005, 08:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: 6
Всего: 44



на сколько я знаю, это не от си зависит, а от винды
PM WWW   Вверх
NiJazz
Дата 24.2.2005, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Jazz coder
****


Профиль
Группа: Экс. модератор
Сообщений: 2286
Регистрация: 10.8.2003
Где: Москва

Репутация: 1
Всего: 23



Hamid
В Win32API есть функция для обработки строки - CharToOem. В 16-разрядных средах вряд ли есть такие средства.
PM MAIL   Вверх
Unknown_Error
Дата 24.2.2005, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 3.1.2005

Репутация: нет
Всего: нет



Хм...
Вообще то нужен руссификатор!
PM MAIL ICQ   Вверх
Hamid
Дата 24.2.2005, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 24.2.2005

Репутация: нет
Всего: нет



Цитата(chaos @ 24.2.2005, 08:55)
на сколько я знаю, это не от си зависит, а от винды

У меня WindowsXP SP1 smile
PM MAIL   Вверх
chaos
Дата 24.2.2005, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: 6
Всего: 44



Цитата(Hamid @ 24.2.2005, 16:43)
Цитата(chaos @ 24.2.2005, 08:55)
на сколько я знаю, это не от си зависит, а от винды

У меня WindowsXP SP1 smile

и че дальше что стоит, у меня тоже стояла и так же не работали рус буквы
PM WWW   Вверх
Tripl-X
Дата 24.2.2005, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 29.12.2004

Репутация: 1
Всего: 1



Borland C++ 5.2:

1. пишем функцию
Код

//////////////////////////////////////////////////////////////////////////
// Не забываем подключать <windows.h>
char* Rus(const char* text) {
  char bufRus[255];
  CharToOem(text, bufRus);
  return bufRus;
}
//////////////////////////////////////////////////////////////////////////


2. Когда надо написать что-то:
Код

printf("%s", Rus("Текст на любом языке");


3. Нельзя использовать более одного раза в одном printf smile

4. Надеюсь чем-нибудь помог...
PM MAIL ICQ   Вверх
Hroft
Дата 25.2.2005, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 20.10.2003
Где: Москва

Репутация: нет
Всего: 3



Обалдеть.
Tripl-X, ты что, сдуба рухнул, извини за выражение? Во-первых, ни о каком виндовсе вообще разговора нет, а во-вторых, КТО ЖЕ ВОЗВРАЩАЕТ ИЗ ФУНКЦИИ УКАЗАТЕЛЬ НА ЛОКАЛЬНУЮ НЕСТАТИЧЕСКУЮ ПЕРЕМЕННУЮ?
Hamid:
А вообще, такая же проблема и с паскалем 7.0, попробуй в качестве простого решения запускать из фара, в полном экране/в окне, а мож даже шрифт консоли в винде поменять.
PM MAIL ICQ   Вверх
Tripl-X
Дата 26.2.2005, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 29.12.2004

Репутация: 1
Всего: 1



Тогда самое простое - выучить английский и писать на нем (в printf)
PM MAIL ICQ   Вверх
chipset
Дата 27.2.2005, 08:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 27
Всего: 165



Цитата(Hroft @ 24.2.2005, 23:23)
Tripl-X, ты что, сдуба рухнул, извини за выражение?

М
 
Помягче плз.


Цитата(Hroft @ 24.2.2005, 23:23)
КТО ЖЕ ВОЗВРАЩАЕТ ИЗ ФУНКЦИИ УКАЗАТЕЛЬ НА ЛОКАЛЬНУЮ НЕСТАТИЧЕСКУЮ ПЕРЕМЕННУЮ?

В данном случае, не вижу ничего за что следовало бы расстреливать на месте.
Приведи пример в котором эта функция не сработала бы.


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Adil'
Дата 27.2.2005, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 311
Регистрация: 26.8.2004
Где: Питер

Репутация: 6
Всего: 15



chipset, какой такой пример - присмотрись внимательней: при выходе из ф-ции Rus массив char bufRus[255]; будет удален из стека - а мы возвращаем указатель на него. Так что Hroft прав, правда в несколько грубоватой форме... smile
Добавлено @ 11:28
Hamid, а у тебя в консоли вообще хоть что-то по русски пишется? Набрать русский текст в консоли можешь?
Или может просто не можешь переключиться на русский в шкуре турбо С?


--------------------
Удачи
PM MAIL WWW   Вверх
chipset
Дата 27.2.2005, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 27
Всего: 165



Цитата
chipset, какой такой пример - присмотрись внимательней: при выходе из ф-ции Rus массив char bufRus[255]; будет удален из стека - а мы возвращаем указатель на него.

На VC7.1 таким образом построенная функция выполняет свою задачу. Что предлагаете вы? Обьявить массив статически? smile


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Дрон
Дата 27.2.2005, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 10
Всего: 93



chipset
Цитата(chipset @ 27.2.2005, 11:42)
На VC7.1 таким образом построенная функция выполняет свою задачу. Что предлагаете вы? Обьявить массив статически? smile

Это тебе просто везёт smile
Если вызвывать её непосредственно перед printf, то шансов на то, что она сработает много.
Если же после её запуска повызывать всяких разных функций, чтобы попереписывать стек, то ничего хорошего не будет.

Про такие вещи не стоит говорить, что, мол, у меня работает, значит всё нормально.


--------------------
Да. Именно так.
PM   Вверх
Adil'
Дата 27.2.2005, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 311
Регистрация: 26.8.2004
Где: Питер

Репутация: 6
Всего: 15



Цитата(chipset @ 27.2.2005, 11:42)
Что предлагаете вы? Обьявить массив статически?
Да уж лучше статический массив, чем так smile

Это сообщение отредактировал(а) Adil' - 27.2.2005, 15:53


--------------------
Удачи
PM MAIL WWW   Вверх
Hroft
Дата 28.2.2005, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 20.10.2003
Где: Москва

Репутация: нет
Всего: 3



Sorry за выражение, но просто такая ошибка... Слов нет.
Я в таких случаях либо пользую std::string, либо, раз его нету, действительно сделал бы массив статическим в функции или даже глобальным в модуле, а то и во всей программе через специальный заголовок. Тогда можно было бы не только сразу после вызова Rus пользовать его, а и вплоть до следующего, навроде errno и GetLastError() smile.
PM MAIL ICQ   Вверх
Гость_Владимир
Дата 1.3.2005, 14:36 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Попробуйте для набора текста исходника использовать редактор Ultraedit или MED. Там можно поставить галочку в настройках " OEM Character Set" и, если я правильно понял проблему, все сообщения в консоли будут по-русски. Возможно, придется выбрать шрифт Terminal.
  Вверх
Hamid
Дата 2.3.2005, 02:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 24.2.2005

Репутация: нет
Всего: нет



Спасибо большое за внимание всем и за участие!!!!!

Я попробовал из командной строки запустить утилитку KEYRUS.COM, а затем запустить TC.EXE.
Теперь могу переключаться на русский, нажав Shift+Ctrl, а затем (обязательно) нажимаю справа Shift+Alt. Правда приходится секунды три-четыре ждать, пока переключиться. Потом также переключаюсь на английский.

А если без командной строки запускаю TC.EXE (и без запуска KEYRUS.COM), то на русский переключаюсь (даже быстрее, чем в предыдущем случае), но обратно на английский перейти не могу (никакие сочетания клавиш, которые переключают языки не помогают).
PM MAIL   Вверх
Hroft
Дата 2.3.2005, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 20.10.2003
Где: Москва

Репутация: нет
Всего: 3



Тоже решение. Основано на эмуляции доса, ну так и tc.exe - досовская. smile
PM MAIL ICQ   Вверх
Chudik
Дата 3.3.2005, 19:28 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Вообщем если кому то надо чтобы еще писал на русском то по tc у меня есть 2 файла которые кидаешь в глав. директорию и валя,есть русский язык.Если наджо стучи в ICQ:136115618 smile
  Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0612 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.