Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.76
levgen42
0 / 0 / 0
Регистрация: 25.02.2010
Сообщений: 27
#1

русский текс в консольном приложении - C++

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

Всем доброго времеи суток как сделать чтобы вместо каракуль после компилирования выводился русский текст?
Изображения
 
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fasked
Эксперт C++
 Аватар для fasked
4929 / 2509 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
24.03.2010, 10:44     русский текс в консольном приложении #2
Русские шрифты в консоли
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
833 / 517 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
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;
}
levgen42
0 / 0 / 0
Регистрация: 25.02.2010
Сообщений: 27
24.03.2010, 14:19  [ТС]     русский текс в консольном приложении #4
Цитата Сообщение от fasked Посмотреть сообщение
тема есть но немножко не та и оставлять комменты там нельзя больше так что продолжим обсуждения!!! допустим я нашел как выводить текст кирилицей через оператор setlocale( LC_ALL,"Russian" ); но есть одно "НО" тот текст теперь нормально отображается, а тот который я ввожу допустим свое имя, как показано на верхнем скриншоте он выводится каракулями
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
833 / 517 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
24.03.2010, 14:20     русский текс в консольном приложении #5
levgen42, код выше смотри, там работает все
levgen42
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;
    }
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
833 / 517 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
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;
}
levgen42
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;
}
Вы у себя еекомпилировали?
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
833 / 517 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
24.03.2010, 14:49     русский текс в консольном приложении #9
добавь те дерективы которые необходимы
да, компилировал
levgen42
0 / 0 / 0
Регистрация: 25.02.2010
Сообщений: 27
24.03.2010, 14:49  [ТС]     русский текс в консольном приложении #10
вот такая вот ошибка error C2664: CharToOemW: невозможно преобразовать параметр 1 из 'const char [14]' в 'LPCWSTR'
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
833 / 517 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
24.03.2010, 14:50     русский текс в консольном приложении #11
IDE code blocks

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

Добавлено через 1 час 9 минут
помогите кто небудь!!!!!!!!!!!!!!!!!!!!!!!!!!
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
24.03.2010, 16:14     русский текс в консольном приложении #15
Цитата Сообщение от levgen42 Посмотреть сообщение
#include <cstring>
вместо этого
C++
1
#include <string>
levgen42
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;
    }
текст выводится нормально а то что я ввел каракулями
Миниатюры
русский текс в консольном приложении  
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
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;
}
Да, и про теги форматирования кода не забывайте, когда здесь его выкладываете...
levgen42
0 / 0 / 0
Регистрация: 25.02.2010
Сообщений: 27
24.03.2010, 17:30  [ТС]     русский текс в консольном приложении #18
error C2045: std: переопределение метки!!! выдает вот такую ошибку

Добавлено через 34 минуты
людиии
xls
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<<"Привет, лопухи";
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2010, 08:41     русский текс в консольном приложении
Еще ссылки по теме:

Тетрис в консольном приложении C++
C++ Меню в консольном приложении
C++ WxWidgets - в консольном приложении
Вывод в консольном приложении C++
CAsyncSocket в консольном приложении C++

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

Или воспользуйтесь поиском по форуму:
levgen42
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 минут
помогите
Yandex
Объявления
25.03.2010, 08:41     русский текс в консольном приложении
Ответ Создать тему
Опции темы

Текущее время: 23:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru