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

Русский текст в консольном приложении выводится каракулями

24.03.2010, 10:43. Показов 4067. Ответов 28
Метки нет (Все метки)

Всем доброго времеи суток как сделать чтобы вместо каракуль после компилирования выводился русский текст?
0

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

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

Не выводится русский текст в MS visual studio
я подключила setlocale(LC_CTYPE,"Russian"); SetConsoleCP(1251); SetConsoleOutputCP(1251); ...

Графика в консольном приложении
Помогите создать приблизительно такую штуку, которая будет высвечиваться при запуске консольной...

MessageBox в консольном приложении
сделал так чтоб выводило текст из файла в консоль #include "stdafx.h" #include <fstream>...

Меню в консольном приложении
есть ошибки не могу исправить #include <iostream> #include <iomanip> #include <ctime> #include...

28
Эксперт С++
5026 / 2605 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
24.03.2010, 10:44 2
Русские шрифты в консоли
0
ниначмуроФ
846 / 530 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
24.03.2010, 14:13 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <windows.h>
using namespace std;
 
int main()
{
char str[20]="Привет";
char message[20];
CharToOem(str,message);
cout<<message;
    return 0;
}
0
0 / 0 / 0
Регистрация: 25.02.2010
Сообщений: 27
24.03.2010, 14:19  [ТС] 4
Цитата Сообщение от fasked Посмотреть сообщение
тема есть но немножко не та и оставлять комменты там нельзя больше так что продолжим обсуждения!!! допустим я нашел как выводить текст кирилицей через оператор setlocale( LC_ALL,"Russian" ); но есть одно "НО" тот текст теперь нормально отображается, а тот который я ввожу допустим свое имя, как показано на верхнем скриншоте он выводится каракулями
0
ниначмуроФ
846 / 530 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
24.03.2010, 14:20 5
levgen42, код выше смотри, там работает все
0
0 / 0 / 0
Регистрация: 25.02.2010
Сообщений: 27
24.03.2010, 14:25  [ТС] 6
Цитата Сообщение от PointsEqual Посмотреть сообщение
levgen42, код выше смотри, там работает все
если не трудно пропиши его тогда сдесь а по ходу разберусь

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdafx.h>
#include <iostream>
#include <string> 
using namespace std;
 
int main ()
{
    string lastName, firstName;
    cout << "Введите Ваше имя: ";
    cin >> lastName;
    cout <<"Введите Вашу Фамилию: ";
    cin >> firstName;
    cout <<"Здравствуйте " <<lastName <<" " <<firstName <<"!\n";
    return 0;
    }
0
ниначмуроФ
846 / 530 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
24.03.2010, 14:35 7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <windows.h>
#include <cstring>
 
using namespace std;
 
int main()
{
 
char message[50];
string lastName;
string firstName;
CharToOem("Введите Ваше имя: ",message);
cout << message;
cin >> lastName;
CharToOem("Введите Вашу Фамилию: ",message);
cout << message;
cin >> firstName;
CharToOem("Здравствуйте ",message);
cout <<message<<lastName <<firstName <<"!\n";
return 0;
}
0
0 / 0 / 0
Регистрация: 25.02.2010
Сообщений: 27
24.03.2010, 14:44  [ТС] 8
fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "stdafx.h"" в источник. В чем сейчас проблема

Добавлено через 53 секунды
компилирую на VS2008

Добавлено через 1 минуту
Цитата Сообщение от PointsEqual Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <windows.h>
#include <cstring>
 
using namespace std;
 
int main()
{
 
char message[50];
string lastName;
string firstName;
CharToOem("Введите Ваше имя: ",message);
cout << message;
cin >> lastName;
CharToOem("Введите Вашу Фамилию: ",message);
cout << message;
cin >> firstName;
CharToOem("Здравствуйте ",message);
cout <<message<<lastName <<firstName <<"!\n";
return 0;
}
Вы у себя еекомпилировали?
0
ниначмуроФ
846 / 530 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
24.03.2010, 14:49 9
добавь те дерективы которые необходимы
да, компилировал
0
0 / 0 / 0
Регистрация: 25.02.2010
Сообщений: 27
24.03.2010, 14:49  [ТС] 10
вот такая вот ошибка error C2664: CharToOemW: невозможно преобразовать параметр 1 из 'const char [14]' в 'LPCWSTR'
0
ниначмуроФ
846 / 530 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
24.03.2010, 14:50 11
IDE code blocks

Добавлено через 31 секунду
Цитата Сообщение от levgen42 Посмотреть сообщение
вот такая вот ошибка error C2664: CharToOemW: невозможно преобразовать параметр 1 из 'const char [14]' в 'LPCWSTR'
не могу помоч
0
0 / 0 / 0
Регистрация: 25.02.2010
Сообщений: 27
24.03.2010, 14:52  [ТС] 12
и если у меня стоит как вы поставили #include <cstring>
у меня тоже ошибку выдает а когда #include <string>
то выдает только ошибку вышеуказанную
0
ниначмуроФ
846 / 530 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
24.03.2010, 14:53 13
да, можно просто string
0
0 / 0 / 0
Регистрация: 25.02.2010
Сообщений: 27
24.03.2010, 16:03  [ТС] 14
ну ладно все равно спасибо может кто еще поможет

Добавлено через 1 час 9 минут
помогите кто небудь!!!!!!!!!!!!!!!!!!!!!!!!!!
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
11031 / 6983 / 1651
Регистрация: 25.07.2009
Сообщений: 12,727
24.03.2010, 16:14 15
Цитата Сообщение от levgen42 Посмотреть сообщение
#include <cstring>
вместо этого
C++
1
#include <string>
0
0 / 0 / 0
Регистрация: 25.02.2010
Сообщений: 27
24.03.2010, 16:31  [ТС] 16
да это все уже исправлено при таком раскладе

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdafx.h>
#include <iostream>
#include <string> 
#include <windows.h>
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale( LC_ALL, "Russian_Russia.1251" );
string lastName, firstName;
    cout << "Введите Ваше имя: ";
    cin >> lastName;
    cout <<"Введите Вашу Фамилию: ";
    cin >> firstName;
    cout <<"Здравствуйте " <<lastName <<" " <<firstName <<"!\n";
    return 0;
    }
текст выводится нормально а то что я ввел каракулями
0
Миниатюры
Русский текст в консольном приложении выводится каракулями  
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
11031 / 6983 / 1651
Регистрация: 25.07.2009
Сообщений: 12,727
24.03.2010, 16:44 17
levgen42, говорили же Вам - почитайте тему про русские шрифты в консоли. Не Вы первый, кто, с этим сталкивается...
При установленном в консоли шрифте "Lucida Console" вот так работает:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
#include <windows.h>
 
int main(){
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    
    std::string name;
    std::cout << "Имя: ";
    std::cin >> name;
    std::cout << "Здравствуй, " << name << std::endl;
    
    return 0;
}
Да, и про теги форматирования кода не забывайте, когда здесь его выкладываете...
0
0 / 0 / 0
Регистрация: 25.02.2010
Сообщений: 27
24.03.2010, 17:30  [ТС] 18
error C2045: std: переопределение метки!!! выдает вот такую ошибку

Добавлено через 34 минуты
людиии
0
0 / 0 / 0
Регистрация: 20.03.2010
Сообщений: 9
24.03.2010, 18:28 19
Всё намного легче
C++
1
2
3
4
5
6
7
#include <stdio.h>
#include <iostream.h>
int main(void)
{
    setlocale(LC_ALL,"Rus");
    cout<<"Привет, лопухи";
}
0
0 / 0 / 0
Регистрация: 25.02.2010
Сообщений: 27
25.03.2010, 08:41  [ТС] 20
Цитата Сообщение от xls Посмотреть сообщение
Всё намного легче
C++
1
2
3
4
5
6
7
#include <stdio.h>
#include <iostream.h>
int main(void)
{
    setlocale(LC_ALL,"Rus");
    cout<<"Привет, лопухи";
}
вы сообщения то читаете? я же написал что текст теперь нормальный отображается а вот теперь текст который вводишь не коректно и скриншот вывел посмотрите

Добавлено через 13 часов 45 минут
помогите
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.03.2010, 08:41

WxWidgets - в консольном приложении
Начал изучение библиотек wxWidgets в Code Blocks, столкнулся с проблемой компиляции, вроде все...

Вывод в консольном приложении
Мне надо после 19 вернуться на прежнюю строку. Что бы после 19 числа начали выводиться вверх ( по...

Ошибка в консольном приложении
{ class Program { public struct Point { public int X; ...

Вывод в консольном приложении
Всем доброго времени суток. Написал приложение выводящие через printf 5 строк с паузой в 1 сек....


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

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

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