Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.84/55: Рейтинг темы: голосов - 55, средняя оценка - 4.84
0 / 0 / 0
Регистрация: 13.07.2019
Сообщений: 5

Русский язык в строках

13.07.2019, 18:29. Показов 12199. Ответов 26

Студворк — интернет-сервис помощи студентам
Только начинаю изучать язык C, хотел попробовать работать со строками и символами. Вот такой получился код, но в консоли при запуске выходит белиберда из различных символов, а не то слово, которое я хотел вывести. Помогите пожалуйста, может нужно подключать какие-нибудь сторонние библиотеки? В интернете ответ не нашел.
Вот код:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>

C
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
 
int main()
{
    setlocale(LC_ALL, "RUS");
    char invtr[] = "Проверка";
    puts(invtr);
    return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.07.2019, 18:29
Ответы с готовыми решениями:

Русский язык
Собственно, есть проблема. Русский язык вроде работает, но не до конца. То, что написано в коде выводится на русском, а то, что в консоли...

Русский язык в консоли
У меня вместо кириллицы в консоле каляки, в связи с этим, знает ли кто, как настроить в консоле адекватное отображение русских букв? Лучше...

Русский язык в консоли
Вот программа. Русский язык нормально отображается только, если он есть в самой программе. А то, что вводит пользователь, потом выводится...

26
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,980
17.07.2019, 19:25
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от stake-k26 Посмотреть сообщение
Как только дело касается windows, про однозначный результат можно забыть.
Согласен
Цитата Сообщение от stake-k26 Посмотреть сообщение
Может у него вообще codeblocks какой-нибудь. А может и minGW, где все это вообще не нужно.
Простите мою неосведомлённость: а в codebloks разве не MinGW в качестве компилятора?
0
2493 / 1157 / 709
Регистрация: 25.04.2016
Сообщений: 3,339
17.07.2019, 19:38
easybudda, честно не помню, но тут вся прелесть в том, что если поставить отдельно minGW с gcc и запускать его собственную консоль, то консоль стартует в виртуальном окружении Linux, т.е. поведение программ будет полностью совпадать с таковым в Linux, не понадобятся никакие ухищрения с setlocale и прочими истинно-форточными плюшками. А вот кодеблокс, равно как и девси++, хоть и запускают компилятор, но используют окружение windows, из-за чего поведение программы подчиняется уже консольным правилам windows.
0
 Аватар для COKPOWEHEU
4148 / 2726 / 433
Регистрация: 09.09.2017
Сообщений: 12,079
18.07.2019, 11:10
Цитата Сообщение от stake-k26 Посмотреть сообщение
не понадобятся никакие ухищрения с setlocale
setlocale это не виндовая функция, в линуксе она тоже нужна, правда там достаточно задать setlocale(LC_ALL, "");
0
18.07.2019, 19:24

Не по теме:

COKPOWEHEU, а я где-то написал что это функция windows? О_о

0
260 / 165 / 54
Регистрация: 03.05.2019
Сообщений: 339
18.07.2019, 21:40
C
1
2
3
4
5
6
7
#include <Windows.h>
/* ... */
int main()
{
 SetConsoleCP(1251); // - кодировка консоли для ввода
 SetConsoleOutput(1251); // - для вывода
}
Но только для Windows.

Добавлено через 2 минуты
Rius, просто новый Microsoft Visual Studio выводит в нормальной кодировке, видимо. У мене на 2019 версии так же.
0
 Аватар для COKPOWEHEU
4148 / 2726 / 433
Регистрация: 09.09.2017
Сообщений: 12,079
19.07.2019, 11:22
Цитата Сообщение от stake-k26 Посмотреть сообщение
COKPOWEHEU, а я где-то написал что это функция windows? О_о
Ну я же процитировал на что отвечаю. Функция setlocale в линуксе нужна точно так же, только там нет извращений с локалью эмулятора терминала и тому подобным (SetOutputCP, chcp и т.п.). Это другие функции.
0
260 / 165 / 54
Регистрация: 03.05.2019
Сообщений: 339
19.07.2019, 11:24
Цитата Сообщение от amator_C Посмотреть сообщение
SetConsoleOutput(1251);
Забыл дописать, тут тоже SetConsoleOutputCP(1251);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.07.2019, 11:24

Русский язык в консоли
При выводе русского текста в консольке выводит всякие каракули и крокозябли:( Подскажите как сделать что-бы в консоле можно было...

Не могу сделать русский язык в консоли
Вот программа. Если ввожу строку русскими символами, то выводится что-то непонятное #include &lt;stdio.h&gt; #include...

Не получается подключить русский язык в программе
//Вычисление площади поверхности параллелепипеда #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;locale.h&gt; void main() { ...

Как сделать русский язык в консоле? (codeblocks)
Вот такая дуристика вылазит копался для чистого СИ не нашел ничего(

Русский язык в ввода-выводе через printf-scanf
Здравствуйте! Помогите пожалуйста... Мне нужно к программе подключить возможность работать с русским языком, однако, мне нужно, что бы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Новые блоги и статьи
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru