Русский текст в программах [дубликат]
Мне приходится писать английскими буквами русские слова в консольных приложениях. Сама программа русская (У мне 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.5k 25 25 золотых знаков 97 97 серебряных знаков 214 214 бронзовых знаков
Т.е. всегда писать латиницей??
16 окт 2011 в 18:21
Обновил ответ.
16 окт 2011 в 18:31
не помогло.я хочу что бы "привет мир" писался по русски
16 окт 2011 в 19:14
Попробуйте этот вариант.
ostream & operator
Отслеживать
ответ дан 16 окт 2011 в 19:30
OpenGLprogrammer OpenGLprogrammer
360 2 2 серебряных знака 17 17 бронзовых знаков
Перегружать глобальный оператор<< для 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
@OpenGLProgrammer Потому что глобальные операторы на то и глобальные, что распространяются на все объекты типа std::ostream . Т.е такой код, например, будет пропускать весь текст, идущий в файл, через CharToOem : std::ofstream f("file.out"); f
Как включить перенос слов в Visual Studio Code?
Есть у меня текст, что в одну строку не влезает и хотелось бы перенести его на следующие строки Текст:
This is my test lorem ipsum. This is my test lorem ipsum. This is my test lorem ipsum. This is my test lorem ipsum. This is my test lorem ipsum. This is my test lorem ipsum. This is my test lorem ipsum. This is my test lorem ipsum. This is my test lorem ipsum. A linebreak before this.
Как включить перенос слов (word wrap)?
Отслеживать
задан 17 мар в 7:09
76.7k 6 6 золотых знаков 54 54 серебряных знака 121 121 бронзовый знак
это наверное перенос строк, а не слов (в русской терминологии)
17 мар в 7:33
@Эникейщик, думаю, тут не перенос строк, т.к. нет разделителя строк. Поэтому перенос слов является корректнее 🙂 Перевод строки, или разрыв строки, — продолжение печати текста с новой строки, то есть с левого края на строку ниже, или уже на следующей странице. На компьютерах это осуществляется клавишей ввода Enter. и Включатель такого режима назвали переносом по словам (англ. word wrap) из ru.wikipedia.org/wiki/…
17 мар в 8:15
так это "перевод", т. е. новая строка. Я же говорю про перенос - там же самая строка переносится (визуально) на другую линию. Перенос слов это когда одно слово печатается на двух строках (типографических).
17 мар в 8:44
1 ответ 1
Сортировка: Сброс на вариант по умолчанию

Перенос слов есть:
Есть несколько вариантов включить его:
- Через команду меню View/Word Wrap :

- Через комбинацию ALT + Z (для Mac: ⌥ + Z )
- Через команду editor.action.toggleWordWrap в Command Palette ( View/Show Command Palette. )


Глобально можно задать в настройках settings.json , в редакторе это File/Preferences/Settings :
Создание драйвера с помощью Visual Studio или MSBuild
В этом разделе описывается, как создать драйвер с помощью среды разработки Visual Studio или из командной строки с помощью Microsoft Build Engine (MSBuild).
Важно Начиная с windows Driver Kit (WDK) 8, MSBuild заменил служебную программу сборки Windows (Build.exe). Теперь WDK использует тот же компилятор и средства сборки, которые используются для сборки проектов Visual Studio. Проекты драйверов, созданные с помощью предыдущих версий WDK, должны быть преобразованы для работы в среде Visual Studio. Вы можете запустить служебную программу преобразования из командной строки или преобразовать существующий драйвер, создав новый проект Visual Studio из существующих источников. Дополнительные сведения см. в разделах Создание драйвера из существующих исходных файлов и WDK и среды сборки Visual Studio.
Создание драйвера с помощью Visual Studio
Драйвер создается так же, как и любой проект или решение в Visual Studio. При создании проекта драйвера с помощью шаблона драйвера Windows шаблон определяет конфигурацию проекта по умолчанию (активную) и конфигурацию сборки решения по умолчанию .
Примечание Вы можете преобразовать проекты и решения, созданные с помощью WDK 8 или Windows Driver Kit (WDK) 8.1, для работы с пакетом драйверов Windows (WDK) 10 и Visual Studio 2019. Перед открытием проектов или решений запустите ProjectUpgradeTool. ProjectUpgradeTool преобразует проекты и решения, чтобы их можно было создавать с помощью WDK 10.
Сведения об управлении и изменении конфигураций сборки см. в статье Сборка в Visual Studio.
Конфигурация сборки решения по умолчанию — Debug и Win32.
Выбор конфигурации и сборка драйвера
- Убедитесь, что на компьютере установлена та же версия пакета SDK и WDK.
- Откройте проект драйвера или решение в Visual Studio.
- Выберите и удерживайте (или щелкните правой кнопкой мыши) решение в Обозреватель Решения и выберите Configuration Manager.
- В Configuration Manager выберите конфигурацию активного решения (например, Отладка или Выпуск) и Активную платформу решения (например, Win32), соответствующие интересующему вас типу сборки.
- Выберите и удерживайте (или щелкните правой кнопкой мыши) проект Avshws и выберите Свойства. Перейдите в раздел Параметры > драйвера Общие и выберите Целевая версия ОС и Целевая платформа.
- Настройте свойства проекта для драйвера или пакета драйверов. Вы можете задать свойства для развертывания, подписывания драйверов или других задач. Дополнительные сведения см. в статье Настройка свойств проекта для драйвера и пакета драйверов.
- В меню Сборка выберите Сборка решения (CTRL+SHIFT+B).
Создание драйвера с помощью командной строки (MSBuild)
Вы можете создать драйвер из командной строки с помощью окна командной строки Visual Studio и Microsoft Build Engine (MSBuild).
Создание драйвера с помощью окна командной строки Visual Studio
- Откройте окно Командной строки разработчика для VS2019 . В этом окне можно использовать MSBuild.exe для сборки любого проекта Visual Studio, указав файл проекта (.vcxproj) или solutions (.sln).
- Перейдите в каталог проекта и введите команду MSbuild для целевого объекта. Например, чтобы выполнить чистую сборку проекта драйвера Visual Studio с именем MyDriver.vcxproj с помощью платформы и конфигурации по умолчанию, перейдите в каталог проекта и введите следующую команду MSBuild:
msbuild /t:clean /t:build .\MyDriver.vcxproj
Синтаксис . Чтобы указать определенную конфигурацию и платформу, используйте следующий синтаксис команды:
msbuild /t:clean /t:build ProjectFile /p:Configuration= /p:Platform=architecture /p:TargetPlatformVersion=a.b.c.d /p:TargetVersion=OS
Например, следующая команда создает драйвер для конфигурации Отладка, платформы Win32 и для Windows 10.
msbuild /t:clean /t:build .\MyDriver.vcxproj /p:Configuration="Debug" /p:Platform=Win32 /p:TargetVersion=”Windows10” /p:TargetPlatformVersion=”10.0.10010.0”
Настройка свойств проекта для драйвера и пакета драйверов
Страницы свойств используются для настройки и настройки параметров драйвера и пакета драйверов. Вы можете настроить драйвер так, чтобы он автоматически подписывался при сборке решения или автоматически развертывался на удаленном тестовом компьютере.
WDK предоставляет ряд средств командной строки, таких как Stampinf и препроцессор WPP (трассировка WPP), которые обычно включаются в процесс сборки. Эти средства не распространяются вместе с Visual Studio. Чтобы объединить эти средства со средой сборки Visual Studio, они упаковываются в виде задач WDK для MSBuild. Если вы используете один из шаблонов драйверов или имеете преобразованный драйвер, эти страницы свойств могут уже существовать для вашего проекта. В противном случае страницы свойств автоматически добавляются в проект по мере добавления связанных типов файлов в проект или решение (например, MC- или MAN-файлы для компилятора сообщений). Дополнительные сведения см. в статье WDK и среда сборки Visual Studio.
Вы можете задать свойства для отдельного драйвера или для всего пакета драйверов. В следующей таблице показаны некоторые доступные свойства, которые можно настроить специально для драйверов и пакетов драйверов.
Свойства подписывания для отдельных файлов драйверов (см. раздел Подписывание драйвера)
Свойства подписывания для пакетов драйверов (см. раздел Подписывание драйвера)
Почему не открывается консоль в visual studio code?
Написал простейшую программу, которая использует функцию printf() для вывода текста в консоль. Но при попытке запустить скомпилированную программу консоль не открывается, хотя программа запускается и висит в фоне. Причём, если кто знает, антивирус Avast (возможно как и другие антивирусы) имеет такую особенность - если попытаться запустить консольную программу, то он запускает свою как бы безопасную консоль, в которой проверяет программу на вирусы. Так вот, при попытке запуска программы в vscode эта самая авастовская консоль запускается и в ней присутствует текст введённый в моей программе, но настоящую консоль vscode почему-то не открывает. Подскажите, в чём может быть причина?
#include #include int main()
Отслеживать
задан 18 окт 2022 в 19:29
41 6 6 бронзовых знаков
Абсолютно некорректный вопрос. Какой язык программирования? Что вы делали? Причём здесь антивирусы? Пытались ли вы искать ответ в Google? Возможно вам поможет перейти в vs code по Вид -> Консоль отладки.
18 окт 2022 в 19:36
Абсолютно всё корректно. Какая вообще разница какой язык и тд., Смысл вопроса в том, что vscode не открывает консоль., хотя по косвенным признакам (консоли антивируса) консоль должна открываться, либо хотя бы выводится результат программы в терминал.
18 окт 2022 в 19:45
Вы не можете в полной мере понятно описать проблему, язык важен. Я всё ещё не понял причём здесь антивирус. Вы пытались его отключить? Вы пробовали воспользоваться run&debug? У вас корректно установлены компоненты для разработки на C? Раньше консоль присутствовала?
