Мне приходится писать английскими буквами русские слова в консольных приложениях. Сама программа русская (У мне Visual Studio 2010 express). Подскажите, что нужно сделать для возможности выводить русские буквы? Заранее спасибо. Нашел ответ(если кому надо)
#include int main() < setlocale(LC_ALL,»RUS»);
Отслеживать
задан 16 окт 2011 в 18:15
159 4 4 золотых знака 6 6 серебряных знаков 17 17 бронзовых знаков
16 окт 2011 в 18:30
Вот именно.
Один и тот же вопрос задавать по 100 000 раз. Как-то нехорошо.
17 окт 2011 в 17:44
setlocale(LC_ALL,»RUS»); (проверял в Windows 7, а в XP помнится у меня не работадо) обеспечивает корректный вывод кириллицы из программы (константы) как на консоль, так и в файл (перенаправлял stdout, осталось cp1251 . ). Ввод не перекодируется (все равно надо делать руками).
6 ноя 2011 в 14:59
6 ответов 6
Сортировка: Сброс на вариант по умолчанию
Способ 1: используй wcout :
#include using namespace std; void main()
Еще как вариант, можно подключить и использовать SetConsoleOutputCP(1251)
Как программировать на русском языке | Алгоритмы
Но у меня в 7ке почему-то этот способ не заработал, влом было разбираться. Но вроде для него надо было еще в настройках проекта какую-то галочку переключить, в общем, используй wcout , он и лучше, и работает не только в винде.
Способ 2:
Вспомнил еще один способ, пожалуй самый простой:
setlocale(LC_ALL, «Russian»); cout
Отслеживать
ответ дан 17 окт 2011 в 16:53
1,935 13 13 серебряных знаков 27 27 бронзовых знаков
Ничего не надо устанавливать. В идентификаторах разрешена только латиница.
А в юникодных строках можно писать любые символы, включая китайские иероглифы.
#include int main()
То, что пишется в строках: «Привет, мир» и т.п., должно помещаться внутрь макроса _T() для юникодных строк, а все остальное должно быть латиницей (за исключением комментариев).
Отслеживать
ответ дан 16 окт 2011 в 18:19
34.3k 25 25 золотых знаков 95 95 серебряных знаков 213 213 бронзовых знаков
Т.е. всегда писать латиницей??
16 окт 2011 в 18:21
Обновил ответ.
16 окт 2011 в 18:31
не помогло.я хочу что бы «привет мир» писался по русски
16 окт 2011 в 19:14
Попробуйте этот вариант.
ostream < для ostream — это зло.
16 окт 2011 в 19:37
Какими могут быть последствия?
16 окт 2011 в 19:58
Это реальный метод для вывода в нужной кодировке в Винде. CharToOem(from,to) переписывает char [] буфер в кодировке cp-1251 (она же ANSI в ней Вы пишете в редакторе и она в файлах винды) в char [] буфер преобразуя кодировку в cp-866 (она же ДОС), которая применяется в консоли. Обратное преобразование делает функция OemToChar(from,to).
У этих функций есть синонимы, которые лично мне проще запомнить (в смысле что во что перекодируется): AnsiToOem и OemToAnsi. Но с консолью есть одна тонкость — аргументы командой строки, набранные в консоли передаются программе в cp1251!
16 окт 2011 в 20:59
Источник: ru.stackoverflow.com
Ты смотришь только Простые видео по программированию не просто так
Как лучше писать ChatGPT: на русском или через переводчик
Одни люди говорят, что ChatGPT понимает по-русски. Другие говорят, что понимает, но не очень: ошибается, тормозит или вообще ломается. Чтобы проверить, кто прав, а кто нет, я написал одинаковые запросы: одни на русском, другие на английском через «Дипл». Пойдёмте сравнивать, где нейросеть справилась лучше.
Что попросим сгенерировать для сравнения
Будет 3 запроса разной сложности:
- простой — сделать контент-план. Минимум вводных и нужно писать логически связанный текст;
- посложнее — написать промо-текст в 2 абзаца. Вводных чуть побольше, но конкретных требований к стилю и структуре не будет;
- сложный — написать небольшую статью. Требований много: сделать в инфостиле, поделить текст на заголовки и привести реальные примеры.
Я специально не буду исправлять и редактировать то, что выдаст ChatGPT. Хочу показать, как оно выглядит в оригинале.
Просто: сделать контент-план
Представим, что мы делаем стикеры из картинок, которые генерируют нейросети. Мы решили прописать идеи для контента. Целевая аудитория — люди лет 15-30, которым нравится что-то яркое, красивое и неформальное. Прямо как постеры у Gorillaz.
По-русски ChatGPT писала чуть дольше, но это не страшно. И нигде ничего не сломалось.
Посложнее: написать короткое промо
Допустим, теперь у нас носочки со смешными надписями и картинками. К 23 февраля мы проводим акцию, чтобы поддержать традицию самых частых подарков на этот праздник. Акция звучит так: «Купи 2 пары по цене одной, чтобы хотя бы 1 носок точно дожил до следующего 23 февраля».
Я попросил нейросеть уложиться в 2 абзаца, но ей хватило и одного. Технически она права: 1 абзац меньше двух, значит укладывается. Но отсюда вывод: хотите текст в 2 абзаца, пишите чётко. Не «уложись в 2 абзаца», а «мне нужно 2 абзаца».
Сложно: написать статью в инфостиле
Фантазируем дальше. Мы — фрилансер, у которого заказал статью магазин гитар «Три аккорда». В статье нужно рассказать, какие акустические гитары подойдут новичку в зависимости от бюджета и музыки, которую он хочет играть. Магазин «Три аккорда» очень крутой, и любительская статья им не нужна. Они много платят, но требуют сдать материал чистеньким, в инфостиле, «по-ильяховски».
Нейросеть не вывезла
ChatGPT не справилась с русским запросом. Я думал, дело в самом запросе, — он слишком сложный.
Вывезла
Оказалось, что запрос нормальный. Перевёл на английский — получил ответ сразу.
Если точечно пройтись по каждому разделу, выйдет материал, с которым можно работать. Отредактировать такое сильно проще, чем написать с нуля.
Источник: www.ixbt.com
Проблемы с русским языком в Dev-С++
Первая проблема, с которой вы наверняка столкнётесь при создании консольных приложений — это проблема русского языка. В стандартной комплектации Dev-C++ не имеет программ, которые позволяют нормально компилировать консольные приложения, которые выводят на экран русские символы.
То есть, если в нашей первой программе вместо
то после компиляции и запуска программы вместо нормальных русских букв на экране мы увидим непонятные «краказябры». Это связано с тем, что стандартный набор программ для компиляции не умеет работать с русскими символами.
Но у этой проблемы есть решение. Достаточно заменить два файла.
В комплекте с этим курсом вы получили эти файлы. Они находятся в папке CPPTOOLS и называются
Скопируйте эти файлы. Затем перейдите в папку, где установлена Dev-C++ (по умолчанию это C:Dev-Cpp ). Найдите там папку bin и скопируйте два выше указанных файла в эту папку.
Затем выберите команду меню
СЕРВИС — ПАРАМЕТРЫ КОМПИЛЯТОРА
Перейдите на вкладку ПРОГРАММЫ и замените имена первых двух программ.
Вместо gcc.exe напишите gccrus.exe .
Вместо g++.exe напишите g++rus.exe .
Нажмите кнопку ОК.
После этого надо закрыть Dev-C++ и запустить вновь. Если после этого русские буквы всё равно не отображаются, то удалите в исходном коде строку
Сохраните и откомпилируйте проект. Затем снова напишите эту строку (именно напишите заново, а не вставьте ранее скопированную).
После этих манипуляций русские буквы должны отображаться нормально.
Кроме проблемы вывода русских символов в консольных приложениях, могут возникнуть и другие неприятности. Например, ваш антивирус может воспринимать ваши программы как заражённые. В этом случае просто добавьте программы в исключения антивируса.
На этом первое знакомство закончим. Возможно, вам уже не терпится узнать, как же работает ваша первая программа.
Но наберитесь терпения. Постепенно мы во всём разберёмся.
- Dev-С++
- Где взять и как установить Dev C++
- Первая программа на С++
- Настройки среды разработки Dev-С++
- Проблемы с русским языком в Dev-С++
- Русский интерфейс в Dev-C++
- Типы данных С++
- Orwell Dev Cpp
- Какие программы можно создать на Dev-C++
Источник: info-master.su