ВУЗ:
Составители:
Рубрика:
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 #includeusing 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
- …
- следующая ›
- последняя »