Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Язык программирования Сpp 25.09.11 (2).doc
Скачиваний:
16
Добавлен:
19.08.2019
Размер:
10.09 Mб
Скачать

Что такое ansi?

ANSI это стандарт отображения символов, разработанный American National Standards Institute (код1251). Стандарт ANSI использует только один байт, чтобы представить каждый знак, соответственно ограничен максимумом 256 знаками, в том числе и пунктуации. Коды от 32 до 126 совпадают со стандартом ASCII. Стандарт ASCII (код 688) использовался в DOS, ANSI используется в Windows.

Задачи

Литература

  1. Архангельский А.Я. Программирование в С++ Builder 6. Изд. БИНОМ, 2004.

  2. Архангельский А.Я. С++ Builder 6. Справочное пособие. Москва, Изд. БИНОМ, 2004.

  3. Киммел П. Borland C++5 «BHV-Санкт-Петербург, 2001г.

  4. Климова Л.М. СИ++ Практическое программирование. Решение типовых задач. «КУДИЦ-ОБРАЗ», М.2001.

  5. Культин Н. С/С++ в задачах и примерах. Санкт-Петербург «БХВ-Петербург», 2003.

  6. Павловская Т.А. C/C++ Программирование на языке высокого уровня. Питер, Москва-Санкт-Петербург-… 2005г.

  7. Павловская Т.А., Щупак Ю.А. С++. Объектно-ориентированное программирование. Практикум. СПб., Питер, 2005.

  8. Подбельский В.В. Язык С++ Финансы и статистика, Москва, 2003г.

  9. Поляков А.Ю., Брусенцев В.А. Методы и алгоритмы компьютерной графики в примерах на Visual С++. СПб БХИ-Петербург, 2003г.

  10. Савитч У. Язык С++ курс объектно-ориентированного программирования. Издательский дом Вильямс. Москва-Санкт-Петербург-Киев, 2001г.

  11. Уэллин С. Как не надо программировать на С++. «Питер». Москва-Санкт-Петербург-Нижний Новгород-Воронеж-Новосибирск-Ростов-на-Дону-Екатеринбург-Самара-Киев-Харьков-Минск, 2004.

  12. Шилдт Г. Полный справочник по С++. Изд. Дом «Вильямс» Москва-Санкт-Перербург-Киев, 2003.

  13. Шилдт Г. Самоучитель С/С++ . Санкт-Петербург, «БХВ-Петербург», 2004.

  14. Шилдт Г. Справочник программиста по С/С++ Изд. Дом «Вильямс» Москва-Санкт-Перербург-Киев, 2003.

  15. Шиманович .Л. С/С++ в примерах и задачах. Минск, Новое знание, 2004.

  16. Штерн В. Основы С++. Методы программной инженерии. Изд. Лори.

  17. www.rsdn.ru

Почему вместо русских букв в консольном приложении выводится мусор? Автор: Алексей Кирюшкин Версия текста: 1.0

Итак, Вы сваяли в Visual Studio что-то типа

#include "stdafx.h"

int main(int argc, char* argv[])

{

printf("Привет всем!\n");

return 0;

}

Запускаете сей шедевр на исполнение и видите

¦ЁштхЄ тёхь!

и правильно! Текст программы Вы набирали в родном редакторе Visual Studio, используя кодовую страницу 1251, а вывод текста в консольном приложении идет с использованием кодовой страницы 866. Что же делать с этим безобразием? Как известно из любого безвыходного положенния есть по крайней мере 3 выхода. Рассмотрим их по-порядку.

Раздел I.2Выход 1

Набрать текст программы в редакторе любого консольного файл-менеджера.

А как же подсветка синтаксиса, вывод по F1 справки по выбранной функции и прочие маленькие прелести, скрашивающие безрадостную жизнь простого программиста? Нет, это выход не для нас.

Раздел I.3Выход 2

Если Вы начали писать консольную программу с нуля, он может Вам подойти. Перепишем наш маленький шедевр вот так:

#include "stdafx.h"

#include "windows.h"

int main(int argc, char* argv[])

{

char s[]="Привет всем!";

CharToOem(s,s);

printf("%s\n", s);

return 0;

}

Ключевое слово здесь CharToOem - именно эта функция и преобразует нашу строку в нужную кодовую страницу. С выводом у нашей программы теперь все нормально.

Но встает следующий вопрос - что делать, если надо перекомпилировать в консольное Windows-приложение Вашу старую DOS-программу на 100000 строк, написанную на Borland C++ 3.1, в которой такая ситуация встречается в каждой второй строке. А ведь придется еще подгонять ее под MS-компилятор, да и пару кусочков кода хочется соптимизировать...

Здесь пожалуй имеет смысл применить ход конем, в смысле