Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 16.01.2018
Сообщений: 5
1

Консоль кирилица

01.09.2019, 14:10. Показов 561. Ответов 5

как запустить в dev консоле проверить
C++
1
2
CharToOem(text, bufRus);
CharToOemA(str, s); // Функция и конвертация.
чтобы русские буквы видно было

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
#include <cstring>
#include <string.h>
#include <conio.h>
#include <windows.h>
#include<math.h>
 
using namespace std;
 
/*
char bufRus[256];
 
char* Rus(const char* text) {
CharToOem(text, bufRus);
return bufRus;
}
 
 
 
int main()
{
//cout << Rus("Привет, Лопух!")<< endl;
printf(Rus(" Сегодня"));
system("pause");
return 0;
 
}
*/
 
char* convert(char* str)
{
char* s;
CharToOemA(str, s); // Функция и конвертация.
return s;
}
 
int main()
{
cout<<convert("Привет Мир!!!");
cin.get();
 
return 0;
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.09.2019, 14:10
Ответы с готовыми решениями:

Кирилица отображается нормально при выводе из программы, но иероглифы при вводе в консоль
Что надо подключить что бы в консоли писать русскими буквами? cin &gt;&gt; kol; cin &gt;&gt; x; cout &lt;&lt; &quot;У...

Кирилица
Всем привет, мы в универе работаем на IDE Dev-cpp, и вопрос такой, он не распознает кириллицу...

Кирилица в массив
Проблема заключается в записи кирилицы в вектор. #include&lt;iostream&gt; using namespace std;...

Кирилица в конслое
Добрый день , прошу помочь решить проблему с русификацией полученной информации : Вырезка из...

5
221 / 148 / 79
Регистрация: 14.03.2016
Сообщений: 459
01.09.2019, 14:13 2
Используйте это:
C++
1
2
SetConsoleOutputCP(1251);
SetConsoleCP(1251);
или это:
C++
1
setlocale(LC_ALL, "Russia");
1
half-horse half-gateway
101 / 71 / 39
Регистрация: 10.05.2016
Сообщений: 466
01.09.2019, 14:21 3
Cortas, второе даже предпочтительнее
0
0 / 0 / 0
Регистрация: 16.01.2018
Сообщений: 5
01.09.2019, 14:35  [ТС] 4
мне надо чтоб функця работала видает ошибку
0
Модератор
Эксперт С++
11057 / 9119 / 5479
Регистрация: 18.12.2011
Сообщений: 24,385
01.09.2019, 15:27 5
Исходя из обязательности использования CharToOem предлагаю 3 способа:

Способ 1:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <windows.h>
using namespace std;
 
char* convert(char* str)
{
    CharToOemA(str, str); // Функция и конвертация.
    return str;
}
 
int main()
{
    char txt[] = "Привет Мир!!!";
    cout << convert(txt); // нельзя сюда записать "Привет Мир!!!", т.к. txt не константа
    cin.get();
 
    return 0;
}
Способ 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <windows.h>
#include <cstring>
using namespace std;
 
char* convert(const char* str)
{
    char* s = new char[strlen(str)+1];
    CharToOemA(str, s); // Функция и конвертация.
    return s;
}
 
int main()
{
    char* txt = convert("Привет Мир!!!");
    cout << txt;
    delete[] txt;  // придется удалять память выделенную в другой функции
    cin.get();
 
    return 0;
}
Способ 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <windows.h>
#include <string>
using namespace std;
 
string convert(string str)
{
    char* s = new char[str.size()+1];
    CharToOemA(str.c_str(), s); // Функция и конвертация.
    string res = s;
    delete[] s; // удаляем выделенную память в пределах одной функции 
    return res;
}
 
int main()
{
    cout << convert("Привет Мир!!!");
    cin.get();
    return 0;
}
0
221 / 148 / 79
Регистрация: 14.03.2016
Сообщений: 459
01.09.2019, 15:27 6
Цитата Сообщение от Vitaliy Cherk Посмотреть сообщение
мне надо чтоб функция работала, выдает ошибку
Я бы тоже выдал ошибку, вы ше память под строку не выделили.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.09.2019, 15:27

Freetype + кирилица
при использовании фритайпа не выводится кирилица(точнее выводится, только в виде квадратика). Задаю...

Кирилица в консоли
С CSharp перешол на C++, начал с азов создаю консольное приложение, без ошибок все отлично, но...

Кирилица в URL запросе
Имеется URL запрос вида: http://localhost/абв, если его считать в программу в буфер char и...

Кирилица
В запросах при написании на русском выводит знаки вопроса. select 'Например' выведет ?????? Как...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.