С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
DiffEreD
1431 / 768 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
#1

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

18.06.2012, 14:05. Просмотров 2439. Ответов 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  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.06.2012, 14:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Пропала кириллица в Visual Studio (C++):

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

Visual Studio Team Foundation Serverl или Visual Studio Professional - C++
Visual Studio Team Foundation Server 2010 Кто пользовался Visual Studio Team Foundation Server 2010, и чем она отличаеться от Visual...

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

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

Перевод с RAD Studio в Visual studio - C++
Помогите пожалуйста, перевести код с одной среды разработки на другую, очень нужно. Вот код. #include &lt;vcl.h&gt; #pragma hdrstop ...

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

7
g-h
67 / 67 / 1
Регистрация: 03.06.2012
Сообщений: 176
18.06.2012, 14:09 #2
А в самой консоле ставил шрифт lucida console?
Русский текст выводить можно еще вот так:
C++
1
2
3
setlocale(LC_ALL, "russian");
 
cout << "Строка" << endl;
1
NeonLost
Пес войны
75 / 86 / 3
Регистрация: 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
1431 / 768 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
18.06.2012, 14:28  [ТС] #4
Цитата Сообщение от NeonLost Посмотреть сообщение
setlocale( LC_ALL,"Russian" );
Огромное спасибо, все заработало. Буду пользоваться теперь этим.

Добавлено через 3 минуты
Но странно как то, почему ранее работоспособный код перестал работать.
0
DiffEreD
1431 / 768 / 95
Регистрация: 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
1431 / 768 / 95
Регистрация: 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 / 2
Регистрация: 19.02.2012
Сообщений: 118
18.06.2012, 15:17 #7
yuron_477, используйте setlocale(0,"");
0
valery1954
0 / 0 / 0
Регистрация: 02.05.2016
Сообщений: 6
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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2017, 02:20
Привет! Вот еще темы с ответами:

несовместимость visual c++ 6.0 и visual studio 2008 - C++
почему правильно гаписанная программа в visual c++ 6.0 не работает в visual studio 2008 , а именно #include &lt;iostream&gt; ...

несовместимость visual c++ 6.0 и visual studio 2008 - C++
почему правильно написанная программа в visual c++ 6.0 не работает в visual studio 2008 , а именно #include &lt;iostream&gt; using namespace...

Работает в Borland Developer Studio 2006 но не работает в Visual Studio 2008, почему? - C++
Вводим строку и меняем в ней первый и последний символы. Всё хорошо в Borland Developer Studio, а Visual Studio 2008 пишет, что проэкт...

Visual Studio - C++
Только что установил этот мега Визуал С++ написал &quot;элементарную&quot; программу и вылетает ошибка при компиляции типа &quot;не найден исполняющий...


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

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

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