Исходники
Статьи
Языки программирования
.NET Delphi Visual C++ Borland C++ Builder C/С++ и C# Базы Данных MySQL MSSQL Oracle PostgreSQL Interbase VisualFoxPro Веб-Мастеру PHP HTML Perl Java JavaScript Протоколы AJAX Технология Ajax Освоение Ajax Сети Беспроводные сети Локальные сети Сети хранения данных TCP/IP xDSL ATM Операционные системы Windows Linux Wap Книги и учебники
Скрипты
Магазин программиста
|
Ishodniki.Ru » Online книги » C++ Builder по шагам Шаг 8 - Консоль [спецификаторы printf, функции getc, getchar] Казалось бы, какая устаревшая вещь. Тем нне менее, я считаю, что уметь с ней работать необходимо, даже в наш виндусиный век ;). Например, приложениям сервера или чего-то в этом роде предпочтительней работать в консольном режиме, какие-то классы, например строковый, тестировать удобнее в консоли. Короче, приступлю к объяснению. Консоль в C++Builder сильно напоминает юниксовую, тот же stdin, stdout и все в том же духе. При запуске программа как консоль выводит обыкновенное окно "Сеанс МС-ДОС", с интутитивным интерфейсом :). Чтобы создать консольное приложение, нужно выбрать команду File -> New, и в списке создаваемых объектов выбрать Console Wizard. После этого выйдет такое диалоговое окно: Все флажки обозначают то, что написано. Можно выбрать язык исходных кодов, разрешить или запретить использование VCL. При снятом флажке VCL можно выбрать или снять флажок multi-threaded, то есть многопоточный. В моем примере я обойдусь одним потоком. Флажок Console Application дает возможность выбрать, исполняется прграмма как консольное окно или как Win32. Все различие в том, что будет прописана функция WinMain или просто Main. Жмите OK и смотрите жиденький код в Редакторе. После Win32 Application как-то не впечатляет. Но тем не менее. В примере будет решена задача отображения в ответ на ввод символа его ASCII кода. При нажатии клавиши ESC, если не ошибаюсь, код #27, выход из программы. Обычный бесконечный цикл, стандарт для ДОС-программ. Текст должен быть такой: #include <stdio.h> #pragma hdrstop #pragma argsused int main(int argc, char* argv[]) { char c=getc(stdin); while(c!=27) { if (c!=10) printf("\r\n%i",c); c=getc(stdin); }; getchar(); return 0; } В первой строке подключается заголовочный файл, аналогичный <iostream.h>. Он отвечает за ввод-вывод. Одна из него - функция getc() возвращает символ из стандартного ввода stdin. Потом идет цикл. Коды 27 и 10 - это ESC и ENTER. Функция printf() форматирует строку, подставляя вместо спецификаторов преобразованные значения. Спецификаторы для printf, печатаемые после "%":
Я привожу спецификаторы так подробно, потому что они встретятся далее в строках типа AnsiString и прочих. Последняя функция getchar() вводит один символ с клавиатуры, просто чтобы окно сразу не закрылось. Напоследок. Помните, что на этой древности многие программисты писали хорошие и очень хорошие программы! ;) |
Форум Программиста
Новости Обзоры Магазин Программиста Каталог ссылок Поиск Добавить файл Обратная связь Рейтинги
|