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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.76
levgen42
0 / 0 / 0
Регистрация: 25.02.2010
Сообщений: 27
24.03.2010, 10:43     русский текс в консольном приложении #1
Всем доброго времеи суток как сделать чтобы вместо каракуль после компилирования выводился русский текст?
Изображения
 
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2010, 10:43     русский текс в консольном приложении
Посмотрите здесь:

C++ Таймер в консольном приложении
Таймер в консольном приложении C++
Timer в консольном приложении C++
C++ Изображение в консольном приложении.
C++ Вывод в консольном приложении
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Cepera
 Аватар для Cepera
52 / 52 / 1
Регистрация: 09.03.2009
Сообщений: 178
25.03.2010, 09:35     русский текс в консольном приложении #21
Цитата Сообщение от levgen42 Посмотреть сообщение
вот такая вот ошибка error C2664: CharToOemW: невозможно преобразовать параметр 1 из 'const char [14]' в 'LPCWSTR'
В вижуал студии у вас в настройках указан набор символов unicode, поменяйте на ascii (Здесь описано какой параметр менять), либо используйте не const char а const wchar_t, либо используйте макрос TEXT, т.е. так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <windows.h>
#include <cstring>
 
using namespace std;
 
int main()
{
 
//char message[50]; // а это поменять на
wchar_t message[50];
string lastName;
string firstName;
CharToOem(TEXT("Введите Ваше имя: "),message);
cout << message;
cin >> lastName;
CharToOem(TEXT("Введите Вашу Фамилию: "),message);
cout << message;
cin >> firstName;
CharToOem(TEXT("Здравствуйте "),message);
cout <<message<<lastName <<firstName <<"!\n";
return 0;
}
Добавлено через 22 минуты
Либо вместо С++-ных cout << и cin >> для ввода и вывода используйте майкрософтовские Console::WriteLine() и Console::ReadLine()
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mиxaил
 Аватар для Mиxaил
530 / 435 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
25.03.2010, 13:48     русский текс в консольном приложении #22
C++
1
2
3
4
5
#include <locale>
//========================
int main() {
      setlocale(LC_ALL,"Russian");
//========================
Cepera
 Аватар для Cepera
52 / 52 / 1
Регистрация: 09.03.2009
Сообщений: 178
25.03.2010, 16:51     русский текс в консольном приложении #23
Mиxaил, прочитатайте тему с начала
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
25.03.2010, 18:26     русский текс в консольном приложении #24
Я порекомендую автору эту тему
вставка символа

...Из всех отвечающих только easybudda произнёс слова Lucida Console

Автор, помимо написания проги тебе вручную надо будет залезть в свойства и такой шрифт установить
levgen42
0 / 0 / 0
Регистрация: 25.02.2010
Сообщений: 27
25.03.2010, 18:34  [ТС]     русский текс в консольном приложении #25
Цитата Сообщение от Cepera Посмотреть сообщение
В вижуал студии у вас в настройках указан набор символов unicode, поменяйте на ascii (Здесь описано какой параметр менять)
спасибо вам огромное поменял совсем чуть-чуть и заработало люди тему не читают а пишут лиж бы написать вот конкретный код для VS2008 все конкретно работает
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "stdafx.h" // подключил библиотеку
#include <iostream>
#include <windows.h>
#include <string> //сдесь cstring поменял на string
 
using namespace std;
 
int main(int argc, _TCHAR* argv[])
{
 
char message[50]; // сдесь wchar_t поменял на char
string lastName;
string firstName;
CharToOem(TEXT("Введите Ваше имя: "),message);
cout << message;
cin >> lastName;
CharToOem(TEXT("Введите Вашу Фамилию: "),message);
cout << message;
cin >> firstName;
CharToOem(TEXT("Здравствуйте "),message);
cout <<message<<lastName <<" " <<firstName <<"!\n";
return 0;
}
можно тему закрыть как вы думаете или оставить может у кого еще какие вопросы возникнут
Cepera
 Аватар для Cepera
52 / 52 / 1
Регистрация: 09.03.2009
Сообщений: 178
25.03.2010, 19:02     русский текс в консольном приложении #26
Цитата Сообщение от kravam Посмотреть сообщение
помимо написания проги тебе вручную надо будет залезть в свойства и такой шрифт установить
Необязательно, средствами вижуал студии можно обойтись
ЗЫ: А по поводу шрифтов и кодировок, меня этим виндовс просто добивает!!! Вот кому в майкрософте в голову пришло привязать кодировку к шрифтам??? Меняешь шрифт, меняется и кодировка (это же дурость из дурости)
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
25.03.2010, 22:49     русский текс в консольном приложении #27
Цитата Сообщение от levgen42 Посмотреть сообщение
люди тему не читают а пишут лиж бы написать
про CharToOem говорится в теме, которая есть в шапке. Люди темы не читают.
ureman
2 / 2 / 0
Регистрация: 27.01.2010
Сообщений: 17
31.03.2010, 09:21     русский текс в консольном приложении #28
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iomanip>
#include <iostream>
#include <locale>
using namespace std;
 
void main()
{
    locale::global(locale("rus"));
    
    printf("Введите a "); cin>>a;
    
    cout<<"Привет";
мне помогло... из файла читает нормально, и на экран выдает
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2010, 10:18     русский текс в консольном приложении
Еще ссылки по теме:

Графика в консольном приложении C++
Тетрис в консольном приложении C++
C++ Меню в консольном приложении

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

Или воспользуйтесь поиском по форуму:
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
31.03.2010, 10:18     русский текс в консольном приложении #29
Цитата Сообщение от levgen42 Посмотреть сообщение
C++
1
#include <string> //сдесь cstring поменял на string
библиотеки string.h(cstring) и string - это разные вещи и предназначены для разных вещей
cstring предназначен для использования функций обработки обычных строк(strtok, strstr, etc.), а string для работы со строками типа std::string.
Yandex
Объявления
31.03.2010, 10:18     русский текс в консольном приложении
Ответ Создать тему
Опции темы

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