Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TCLR-3Ar.doc
Скачиваний:
14
Добавлен:
12.07.2019
Размер:
664.58 Кб
Скачать

3.X можно использовать глобальную переменную

_psp, устанавливаемую стартовым кодом.

Возвращаемое Функция getpsp возвращает адрес сегмента PSP.

значение

Переносимость Функция уникальна для DOS версии 3.0 и не под-

держивается в более ранних версиях DOS.

Смотрите также getenv, _psp(variable).

Пример:

#include<stdio.h>

#include<dos.h>

int main(void)

{

static char command[128];

char far *cp;

int len,l;

printf("Префикс программного сегмента: %x\n",getpsp());

/* _psp получает адрес префикса программного сегмента.

Остаток командной строки хранится в psp по смещению 80H

относительно начала psp. Ниже показано, как можно полу-

чить эти аргументы. */

cp = MK_FP(_psp,0x80);

len = *cp;

for(i=0; i<len; i++)

command[i] = cp[i+1];

printf("Командная строка:%s\n",command);

return 0;

}

gets

Функция Получает строку символов из потока.

Синтаксис #include<stdio.h>

char *gets(char *s);

Файл, содержащий stdio.h

прототип

-208-

Описание Функция gets читает строку символов, оканчиваю-

щуюся символом перевода строки в переменную *s из

стандартного входного потока stdin. Данная сим-

вольная строка оканчивается символом перехода на

новую строку, который при записи в *s заменяется

на нулевое окончание (\0).

В отличие от scanf, gets позволяет вводить стро-

ки, содержащие символы пробела и табуляции. Все,

что было введено до перевода каретки, помещается

в s.

Возвращаемое При успешном завершении, функция gets возвращает

значение строку s; при достижении конца файла (EOF) или

ошибке возвращается NULL.

Переносимость Функции поддерживаются на системах UNIX и стандар-

том ANSI C.

Смотрите также cgets, ferror, fgets, fopen, fputs, fread, getc,

puts, scanf.

Пример:

#include <stdio.h>

int main(void)

{

char string[133];

printf("Введите строку:");

gets(string);

printf("Cтрока = '%s'\n,string);

}

gettext

Функция Копирует текст с экрана в память.

Синтаксис #include<conio.h>

int gettext(int left, int top, int right,

int bottom, void *destin);

Файл содержащий conio.h

прототип

Описание gettext запоминает содержимое прямоугольника на

текстовом экране с размерами, определяемыми пара-

метрами left, top, right, bottom, в области памя-

ти, на которую указывает параметр destin.

Все координаты являются абсолютными координатами

экрана, а не относительными в зависимости от ок-

на. Левый верхний угол имеет координаты (1,1).

gettext считывает содержимое экрана последова-

тельно слева направо и сверху вниз.

Каждая позиция на экране требует для хранения 2

байта: первый байт - это код символа а второй -

его атрибуты. Т.о. для хранения прямоугольника

-209-

шириной w и высотой h требуется h*w*2 байт.

Возвращаемое В случае успешного завершения gettext возвращает

значение 1. В случае ошибки (если вы, например, задали ко-

ординаты, выходящие за пределы экрана для данного

режима) она возвращает 0.

Переносимость gettext работает только на системах совместимых с

IBM PC и совместимых по BIOS.

Смотрите также movetext, puttext.

Пример:

#include<conio.h>

char buffer[4096];

int main(void)

{

int i;

clrscr();

for(i=0; i<=20; i++)

cprintf("Строка #%d\r\n",i);

gettext(1,1,80,25,buffer);

gotoxy(1,25);

cprintf("Для обнуления экрана нажмите любую клавишу...\n");

getch();

clrscr();

gotoxy(1,25);

cprintf("Для восстановления экрана нажмите клавишу...\n");

getch();

puttext(1,1,80,25);

gotoxy(1,25);

cprintf("Для завершения нажмите любую клавишу...\n");

getch();

return 0;

}

gettextinfo

Функция Получает информацию о текстовом режиме.

Синтаксис #include<conio.h>

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]