ВУЗ:
Составители:
Рубрика:
133
Приложение. Русификация консольного ввода-вывода
При выполнении консольных приложений тексты, содержащие
символы кириллицы, отображаются неправильно – в виде знаков
псевдографики
printf("\nПрограммирование на C\n");
cout<<"\nПрограммирование на C++\n";
Это связано с различием кодировок, используемых в среде подготовки
программ и консольном окне. В редакторе среды программирования
(например, MS Visual Studio) используется кодировка cp1251
(―Кириллическая Windows‖), а в окне консоли – кодировка cp866 (иначе
DOS-кодировка).
Есть несколько способов решить вопрос.
Первый, самый простой – перейти на латиницу и записывать все
поясняющие тексты при выводе латинскими буквами.
Следующий вариант решения – перекодировка сообщений перед их
выводом.
// Изменение кодировки cp1251 на cp866
#include <iostream>
using namespace std;
char * AnsiToOem(char *stroka);
int _tmain(int argc, _TCHAR* argv[])
{
printf("\nПрограммирование на C\n");
cout<<"\nПрограммирование на C++\n";
char s1[]="\nПрограммирование на C\n";
char s2[]="\nПрограммирование на C++\n";
printf(AnsiToOem(s1));
cout<<AnsiToOem(s2);
return 0;
}
char * AnsiToOem(char *stroka)
{
int cnt,i=0;
char ch;
Приложение. Русификация консольного ввода-вывода
При выполнении консольных приложений тексты, содержащие
символы кириллицы, отображаются неправильно – в виде знаков
псевдографики
printf("\nПрограммирование на C\n");
cout<<"\nПрограммирование на C++\n";
Это связано с различием кодировок, используемых в среде подготовки
программ и консольном окне. В редакторе среды программирования
(например, MS Visual Studio) используется кодировка cp1251
(―Кириллическая Windows‖), а в окне консоли – кодировка cp866 (иначе
DOS-кодировка).
Есть несколько способов решить вопрос.
Первый, самый простой – перейти на латиницу и записывать все
поясняющие тексты при выводе латинскими буквами.
Следующий вариант решения – перекодировка сообщений перед их
выводом.
// Изменение кодировки cp1251 на cp866
#include
using namespace std;
char * AnsiToOem(char *stroka);
int _tmain(int argc, _TCHAR* argv[])
{
printf("\nПрограммирование на C\n");
cout<<"\nПрограммирование на C++\n";
char s1[]="\nПрограммирование на C\n";
char s2[]="\nПрограммирование на C++\n";
printf(AnsiToOem(s1));
cout< Страницы
- « первая
- ‹ предыдущая
- …
- 131
- 132
- 133
- 134
- 135
- …
- следующая ›
- последняя »
