Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.74/19: Рейтинг темы: голосов - 19, средняя оценка - 4.74
DiffEreD
1446 / 783 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
1

Пропала кириллица в Visual Studio

18.06.2012, 14:05. Просмотров 3429. Ответов 7
Метки нет (Все метки)

Перестала сегодня выводится кириллица в Visual Studio 2010. Не могу понять в чем дело. Раньше етот код выводился без проблем
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <Windows.h>
using namespace std;
 
int main()
{
    SetConsoleCP (1251);
    SetConsoleOutputCP (1251);
 
    cout<<"Строка"<<endl;
    system("pause");
    return 0;
}
, а теперь вот так. Кто поможет?
0
Миниатюры
Пропала кириллица в Visual Studio  
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.06.2012, 14:05
Ответы с готовыми решениями:

В коде возникли ошибки при переходе с Visual studio 2013 на Visual studio 2017
Добрый день, решил попробовать поменять свою 2013 студию на 2017 и заметил такую проблему, при...

Имеются ли отличия в компиляторах у сред разработки Visual Studio 2006 и Visual Studio 2015 ?
скажите а где найти среду 2006 года? или можно использовать 2015 год?

Visual Studio Community 2015 Пропала XML документация классов
Причем это не во всех проектах. А только в некоторых. Сразу уточню, что все проекты созданы в одной...

Пропала кириллица в IE
Добрый день, бывшие коллеги! Без видимых причин перестала восприниматься кириллица с клавиатуры:...

7
g-h
68 / 68 / 18
Регистрация: 03.06.2012
Сообщений: 176
18.06.2012, 14:09 2
А в самой консоле ставил шрифт lucida console?
Русский текст выводить можно еще вот так:
C++
1
2
3
setlocale(LC_ALL, "russian");
 
cout << "Строка" << endl;
1
NeonLost
Пес войны
110 / 87 / 22
Регистрация: 23.02.2012
Сообщений: 653
18.06.2012, 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()
{
    setlocale( LC_ALL,"Russian" );
 
    cout<<"Строка"<<endl;
    system("pause");
    return 0;
}
2
DiffEreD
1446 / 783 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
18.06.2012, 14:28  [ТС] 4
Цитата Сообщение от NeonLost Посмотреть сообщение
setlocale( LC_ALL,"Russian" );
Огромное спасибо, все заработало. Буду пользоваться теперь этим.

Добавлено через 3 минуты
Но странно как то, почему ранее работоспособный код перестал работать.
0
DiffEreD
1446 / 783 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
18.06.2012, 14:43  [ТС] 5
Перепроверил еще с другим кодом
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
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <Windows.h>
using namespace std;
void show(const std::string & s);
int main()
{
    setlocale( LC_ALL,"Russian" );
 
    cout<<"Строка"<<endl;
    cout<<"Їє"<<endl;
 
    string input;
    vector<string> words;
    cout<<"Ведите слова для добавления в вектор (q to exit): "<<endl;
    while (cin>>input && input != "q")
        words.push_back(input);
    cout<<"\nВы ввели следующие слова:"<<endl;
    for_each(words.begin(), words.end(), show);
    system("pause");
    return 0;
}
void show(const std::string & s)
{
    std::cout<<s<<" ";
}
и вот что получается - setlocale( LC_ALL,"Russian" ); работает, но не до конца. Приду вечером домой, перепроверю еще на домашнем ПК.
0
Миниатюры
Пропала кириллица в Visual Studio  
DiffEreD
1446 / 783 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
18.06.2012, 15:02  [ТС] 6
Все, разобрался сам - помогла смена шрифта в консоли Windows: умолчания-шрифт. Даже не представляю от чего это зависит. Буду продалжать пользоваться только SetConsoleCP (1251);
SetConsoleOutputCP (1251); так как setlocale( LC_ALL,"Russian" ); так и незаработало как надо в вышеуказанном мной примере.
0
kent
Нуб со стажем
36 / 34 / 10
Регистрация: 19.02.2012
Сообщений: 118
18.06.2012, 15:17 7
yuron_477, используйте setlocale(0,"");
0
valery1954
0 / 0 / 0
Регистрация: 02.05.2016
Сообщений: 7
Записей в блоге: 1
02.10.2017, 02:20 8
Здравствуйте.
Работает функция: wcout.imbue(locale(".866"));
wcout << L"Привет, Мир!\n";
Вот код:
// Bukva_russian_Kirilliza_proba.cpp: определяет точку входа для консольного приложения. 1
//2
// 3
#include "stdafx.h"// 4
#include <iostream>// 5
#include <windows.h>// 6
#include <cstring>// 7
#include <cstdio>// 8
#include <cmath>// 9
#include <conio.h>//10
#include <clocale>//11
char bufrus[256];//12
char* rus(const char* text) {//13
//CharToOem(text, bufrus);//14
return bufrus; //15
} //16
using namespace std;
int main()// _tmain(int argc, _TCHAR* argv[])// 17
{ wcout.imbue(locale(".866"));// 18
wcout << L"Привет, Мир!\n"; // 19
//setlocale(LC_ALL,(""));// (0,"");// 20
//SetConsoleCP (1251);// 21
//SetConsoleOutputCP (1251); 22
unsigned char ch;// 23
ch = 1;// 24
while (ch)// 25
{ //26
std::cout << ch << ' ';// 27
ch++;// 28
} //29
std::cout << "\n vvedite stroku \t введите строку \n";//30
char str[80];// 31
//gets(str);// 32
std::cout << "\n votvasha stroka ват ваша строка: ";// 33
std::cout << str << '\n';// 34
std::cin >> str;// 35
std::cout << "\n vasha stroka , ваша строка : ";// 36
std::cout << str << '\n'; // 37
wcout.imbue(locale(".866"));
wcout << L"Привет, Мир!\n Работает функция:\t wcout.imbue(locale( .866) wcout << L \n";
system("pause");
return 0;
}

Добавлено через 15 секунд
Здравствуйте.
Работает функция: wcout.imbue(locale(".866"));
wcout << L"Привет, Мир!\n";
Вот код:
// Bukva_russian_Kirilliza_proba.cpp: определяет точку входа для консольного приложения. 1
//2
// 3
#include "stdafx.h"// 4
#include <iostream>// 5
#include <windows.h>// 6
#include <cstring>// 7
#include <cstdio>// 8
#include <cmath>// 9
#include <conio.h>//10
#include <clocale>//11
char bufrus[256];//12
char* rus(const char* text) {//13
//CharToOem(text, bufrus);//14
return bufrus; //15
} //16
using namespace std;
int main()// _tmain(int argc, _TCHAR* argv[])// 17
{ wcout.imbue(locale(".866"));// 18
wcout << L"Привет, Мир!\n"; // 19
//setlocale(LC_ALL,(""));// (0,"");// 20
//SetConsoleCP (1251);// 21
//SetConsoleOutputCP (1251); 22
unsigned char ch;// 23
ch = 1;// 24
while (ch)// 25
{ //26
std::cout << ch << ' ';// 27
ch++;// 28
} //29
std::cout << "\n vvedite stroku \t введите строку \n";//30
char str[80];// 31
//gets(str);// 32
std::cout << "\n votvasha stroka ват ваша строка: ";// 33
std::cout << str << '\n';// 34
std::cin >> str;// 35
std::cout << "\n vasha stroka , ваша строка : ";// 36
std::cout << str << '\n'; // 37
wcout.imbue(locale(".866"));
wcout << L"Привет, Мир!\n Работает функция:\t wcout.imbue(locale( .866) wcout << L \n";
system("pause");
return 0;
}
0
02.10.2017, 02:20
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2017, 02:20

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

В visual studio 2010 express пропала вкладка "проект"
В visual studio 2010 express пропала вкладка &quot;проект&quot;,что делать?

Установка C++ Redistributable Visual Studio 2017 и Visual C++ для Visual Studio 2015
Доброго дня. Пытаюсь изучить PHP. Решил установить сервер локальный. В инструкции сказано: &quot;Ещё...

Visual Studio 2005 и Visual Studio 2008 сильно ли они отличаются друк от друга?
привет ребята:) вот у меня есть Visual Studio 2005 и Visual Studio 2008 возник вопрос сильно ли...

Будет ли всегда программа написанная на Visual Studio 2010 открываться в Visual Studio 2003 ?
Будет ли всегда программа написанная на Visual Studio 2010 открываться в Visual Studio 2003 ?


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

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

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