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

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

18.06.2012, 14:05. Просмотров 3201. Ответов 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 Team Foundation Serverl или Visual Studio Professional
Visual Studio Team Foundation Server 2010 Кто пользовался Visual Studio Team Foundation Server...

Какую среду программирования лучше выбрать для обучения языку C++ ? Visual Studio,Visual Basic или Visual C++?
И напишите,чем рекомендуемая вами среда программирования лучше других? Насколько я понял из...

Написать программу. Задания нужно выполнять на языке Visual C++ в среде Microsoft Visual Studio 2008
Можете написать программу? Задание по номером 3.24 (2 рисунок).

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
1445 / 782 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
18.06.2012, 14:28  [ТС] 4
Цитата Сообщение от NeonLost Посмотреть сообщение
setlocale( LC_ALL,"Russian" );
Огромное спасибо, все заработало. Буду пользоваться теперь этим.

Добавлено через 3 минуты
Но странно как то, почему ранее работоспособный код перестал работать.
0
18.06.2012, 14:28
DiffEreD
1445 / 782 / 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
1445 / 782 / 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 C++.NET и Visual Studio это одно и то же?
Доброго времени суток, давно хотел узнать но так точно и не узнал. Вопрос вот в чем: Visual...

Перевод с RAD Studio в Visual studio
Помогите пожалуйста, перевести код с одной среды разработки на другую, очень нужно. Вот код. ...

Подсчитать количество вхождений буквы (кириллица) в строку (кириллица)
Суть такая: по требованию программы ввести строку символов (обыкновенный текст, кириллица(!!!)) и...


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

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

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