Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kurs_prog_2 / MetodichkаCPP KR-2006.pdf
Скачиваний:
7
Добавлен:
17.05.2015
Размер:
451.34 Кб
Скачать

4. ДОВІДКОВА ІНФОРМАЦІЯ

Деякі стандартні функції мови С++

Стандартні функції для роботи із символами (ctype.h)

Таблиця 4.1

 

 

 

 

 

 

 

 

Функція

Опис

Тип

 

повернення

 

 

 

 

isalnum(int c);

Перевіряє, чи є символ літерою або цифрою.

int

 

isalpha(int c);

Перевіряє, чи є символ літерою.

int

 

iscntrl(int c);

Перевіряє, чи є символ керуючим.

int

 

isdigit(int c);

Перевіряє, чи є символ десятковою цифрою.

int

 

isgraph(int c);

Перевіряє, чи є символ видимим.

int

 

islower(int c);

Перевіряє, чи є символ літерою нижнього

int

 

регістра.

 

 

 

 

 

ispunct(int c);

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

int

 

isspace(int c);

Перевіряє, чи є символ пробільним.

int

 

isupper(int c);

Перевіряє, чи є символ літерою верхнього

int

 

регістру.

 

 

 

 

 

isxdigit(int c);

Перевіряє, чи є символ шістнадцятковою

int

 

цифрою.

 

 

 

 

 

tolower(int c);

Перетворює символ у символ нижнього регістра.

int

 

toupper(int c);

Перетворює символ у символ верхнього

int

 

регістра.

 

 

 

 

 

Стандартні функції для роботи з каталогами (dir.h)

Таблиця 4.2

 

 

 

 

 

 

 

Функція

Опис

Тип

 

повернення

 

 

 

 

 

chdir(char *pathname);

Змінює поточний робочий каталог.

int

 

 

findfirst(char *pathname, struct

Шукає перше розташування файла або

int

 

 

ffblk *buf, int attr);

каталогу.

 

 

 

 

fnmerge(char *path, char *drive,

Складає ім’я файла з окремих частин.

void

 

 

char *dir, char *name,char *ext)

 

 

 

 

fnsplit(char *path, char *drive,

Розкладає ім’я файла на окремі компоненти.

int

 

 

char *dir, char *name,char *ext);

 

getcurdir(int drive,char *directory);

Повертає поточний каталог на вказаному диску.

int

 

 

getcwd(char *buf, int n);

Повертає повне ім’я поточного каталогу.

char *

 

 

getdisk(void);

Повертає поточний диск.

int

 

 

mkdir(char *pathname);

Створює новий каталог.

int

 

 

mktemp(char *template);

Генерує унікальне ім’я файла.

char *

 

 

rmdir(const char *path);

Знищує каталог.

int

 

 

searchpath(char *filename);

Продовжує пошук файла, початого функцією

char *

 

 

findfirst.

 

 

 

 

 

setdisk(int drive);

Встановлює поточний диск.

int

 

 

38

Таблиця 4.3

Стандартні функції для роботи з ОС (dos.h)

Функція

Опис

Тип

повернення

 

 

absread(int drive, int nsect, int

Читає інформацію із сектора.

int

sectno, void *buffer);

 

 

abswrite(int drive, int nsect, int

Записує інформацію у сектор.

int

sectno, void *buffer);

 

 

bdos(int dosfun, unsigned dosdx,

Викликає MS-DOS.

int

unsigned dosal);

 

 

ctrlbrk(int (*handler)(void));

Встановлює реакцію на CTRL-Break.

void

delay(unsigned milliseconds);

Призупиняє роботу програми на вказане число

void

мілісекунд.

 

 

getcbkr(void);

Повертає поточну встановлену реакцію на

int

CTRL-Break.

 

 

getdate(struct date *datep);

Повертає поточну дату.

void

getdfree(int drive, struct dfree

Повертає об’єм вільного місця на диску.

void

*dtable);

 

 

getfat(int drive, struct fatinfo

Отримує інформацію FAT.

void

*fatblkp);

 

 

getfatd(struct fatinfo *dtable);

Отримує інформацію FAT про поточний диск.

void

getftime(int handle,struct ftime,

Повертає дату і час створення файла.

int

*ftimep);

 

 

gettime(struct time *timep);

Повертає поточний системний час.

void

inp(unsigned portid);

Читає один байт з вхідного порту port.

int

inport(int portid);

Читає слово(два байти) з вхідного порту.

int

inportb(int portid);

Читає байт з порту введення.

unsigned

char

 

 

int86x(int intno, union REGS

 

 

*inregs, union REGS *outregs,

Виконує системне переривання.

int

struct SREGS *segregs);

 

 

intr(int intno, struct REGPACK

Виконує системне переривання.

void

*preg);

 

 

keep(unsigned char status,

Завершує роботу і залишає програму

void

unsigned size);

резидентною.

 

nosound(void);

Відключає звук.

void

outp(unsigned portid, int value);

Записує байт у порт.

int

peek(unsigned segment,

 

int

unsigned offset);

Отримує значення байта або слова за адресою.

peekb(unsigned segment,

char

 

unsigned offset);

 

 

poke(unsigned segment,

 

void

unsigned offset, int value);

Записує значення байта або слова за адресою.

pokeb(unsigned segment,

void

 

unsigned offset, char value)

 

 

settime(struct time *timep);

Встановлює поточний час.

void

sleep(unsigned seconds);

Призупиняє виконання програми на задану

void

кількість секунд.

 

 

sound(unsigned frequency);

Генерує звуковий сигнал із заданою частотою.

void

39

Стандартні функції для виведення у графічному режимі (graphics.h)

Таблиця 4.4

 

 

 

 

 

 

Функція

Опис

Тип

 

повернення

 

 

 

 

1

2

3

 

bar(int left, int top, int right, int

Рисує зафарбований прямокутник.

void far

 

bottom);

 

 

 

 

arc(int x, int y, int stangle, int

Рисує дугу кола.

void far

 

endangle, int radius);

 

 

 

 

bar3d(int left, int top, int right, int

Рисує тривимірний стовпець.

void far

 

bottom, int depth, int topflag);

 

 

 

circle(int x, int y, int radius);

Рисує коло із заданими координатами центра та

void far

 

радіусом.

 

 

 

 

cleardevice(void);

Очищає екран.

void far

 

clearviewport(void);

Очищає графічне вікно.

void far

 

closegraph(void);

Закриває графічний режим.

void far

 

detectgraph(int far *graphdriver,

Повертає тип графічного драйвера.

void far

 

int far *graphmode);

 

 

 

drawpoly(int numpoints, int far

Рисує ламану лінію.

void far

 

*polypoints);

 

 

 

 

ellipse(int x, int y, int stangle, int

Рисує еліптичну дугу від початкового кута до

void far

 

endangle, int xradius, int yradius);

кінцевого.

 

 

 

fillellipse(int x, int y, int xradius, int

Рисує заштрихований еліпс.

void far

 

yradius);

 

 

 

fillpoly(int numpoints, int far

Рисує заштрихований багатокутник.

void far

 

*polypoints);

 

 

 

 

floodfill(int x, int y, int border);

Зафарбовує замкнену область.

void far

 

getaspectratio(int far *xasp, int far

Повертає відношення сторін графічного екрана.

void far

 

*yasp);

 

 

 

getbkcolor(void);

Повертає поточний колір фону.

int far

 

getcolor(void);

Повертає поточний колір.

int far

 

getfillpattern(char far *pattern);

Повертає поточний тип штрихування.

void far

 

getfillsettings (struct

Повертає поточний тип і колір штрихування.

void far

 

fillsettingstype far *fillinfo);

 

 

 

 

getimage(int left, int top, int right,

Зберігає бітовий образ частини екрана.

void far

 

int bottom, void far *bitmap);

 

 

 

getlinesettings(struct

Повертає поточний стиль, шаблон і товщину

void far

 

linesettingstype far *lineinfo);

штрихування.

 

 

 

getmaxcolor(void);

Повертає максимальний колір, який можна

int far

 

задавати у параметрах.

 

 

 

 

getmaxx(void);

Повертають, відповідно, максимальну Х-

int far

 

getmaxy(void);

координату та Y-координату екрана.

int far

 

getpixel(int x, int y);

Повертає колір піксела з координатами (x,y)

unsigned far

 

gettextsettings(struct

Повертає поточний шрифт, розмір та

void far

 

textsettingstype far *texttypeinfo);

вирівнювання тексту.

 

 

 

getx(void);

Повертають, відповідно, Х- та Y-координати

int far

 

gety(void);

поточного вказівника.

int far

 

graphresult(void);

Повертає код помилки для останньої графічної

int far

 

операції.

 

 

 

 

40

 

Продовження табл. 4.4

 

 

 

 

1

2

3

 

imagesize(int left, int top, int right,

Повертає число байт, що необхідні для

unsigned far

 

int bottom);

зберігання прямокутної частини екрана.

 

 

 

initgraph(int far *graphdriver, int

Ініціалізує графічний режим роботи адаптера.

void far

 

far *graphmode, char far

 

*pathtodriver);

 

 

 

line(int x1, int y1, int x2, int y2);

Рисує лінію від точки (x1,y1) до точки (x2,y2).

void far

 

linerel(int dx, int dy);

Рисує лінію від поточного положення вказівника

void far

 

до точки, заданої приростом координат.

 

 

 

 

lineto(int x, int y);

Рисує лінію від поточного положення вказівника

void far

 

до заданої точки.

 

 

 

 

moverel(int dx, int dy);

Переміщує вказівник до точки, заданої

void far

 

приростом координат.

 

 

 

 

moveto(int x, int y);

Переміщує вказівник до точки із заданими

void far

 

координатами.

 

 

 

 

outtext(char far *textstring);

Виводить текстовий рядок на екран.

void far

 

outtextxy(int x, int y, char far

Виводить текстовий рядок у задане місце

void far

 

*textstring);

екрана.

 

 

 

pieslice(int x, int y, int stangle, int

Рисує і заштриховує сектор кола.

void far

 

endangle, int radius);

 

 

 

putimage(int left, int top, void far

Виводить бітовий образ на екран.

void far

 

*bitmap, int op);

 

 

 

putpixel(int x, int y, int color);

Виводить точку із заданими координатами і

void far

 

кольором.

 

 

 

 

rectangle(int left, int top, int right,

Рисує прямокутник.

void far

 

int bottom);

 

 

 

sector(int x, int y, int stangle, int

Заштриховує сектор еліпса.

void far

 

endangle, int xradius, int yradius);

 

 

 

setaspectratio(int xasp, int yasp);

Змінює масштабний коефіцієнт відношення

void far

 

 

сторін екрана.

 

 

setbkcolor(int color);

Встановлює колір фону.

void far

 

setcolor(int color);

Встановлює колір для рисування та тексту.

void far

 

setfillpattern(char far *upattern, int

Встановлює тип штрихування (довільний).

void far

 

color);

 

 

 

setfillstyle(int pattern, int color);

Встановлює тип і колір штрихування.

void far

 

setlinestyle(int linestyle, unsigned

Встановлює товщину і стиль лінії.

void far

 

upattern, int thickness);

 

 

 

settextjustify(int horiz, int vert);

Встановлює вирівнювання тектсу.

void far

 

settextstyle(int font, int direction,

Встановлює поточний шрифт, стиль і розмір

void far

 

int charsize);

тексту.

 

 

 

setviewport(int left, int top, int

Визначає вікно для графічного виведення.

void far

 

right, int bottom, int clip);

 

 

 

 

textheight(char far *textstring);

Повертає висоту рядка у пікселах.

int far

 

textwidth(char far *textstring);

Повертає довжину рядка у пікселах.

int far

 

41

Стандартні математичні функції (math.h)

Таблиця 4.5

 

 

 

 

 

 

Функція

Опис

Тип

 

повернення

 

 

 

 

abs(int x);

Повертає модуль цілого числа.

int

 

acos(double x);

Повертає арккосинус аргументу.

double

 

acosl(long double (x));

long double

 

 

 

asin(double x);

Повертає арксинус аргументу.

double

 

asinl(long double (x));

long double

 

 

 

atan(double x);

Повертає арктангенс аргументу.

double

 

atanl(long double (x));

long double

 

 

 

atan2(double y, double x);

Повертає арктангенс відношення

double

 

atan2l(long double(y), long double (x));

аргументів.

long double

 

ceil(double x);

Заокруглює до найменшого цілого,

double

 

ceill(long double (x));

більшого або рівного заданому числу.

long double

 

cos(double x);

Обчислює косинус.

double

 

cosl(long double x);

long double

 

 

 

cosh(double x);

Обчислює гіперболічний косинус.

double

 

coshl(long double (x));

long double

 

 

 

exp(double x);

Повертає степінь числа е.

double

 

exp(long double (x));

long double

 

 

 

fabs(double x);

Повертає модуль числа (для дійсних

double

 

fabsl(long double @E(x));

чисел).

long double

 

floor(double x);

Заокруглює до найменшого цілого,

double

 

floorl(long double (x));

меншого або рівного заданому числу.

long double

 

fmod(double x, double y); fmod(long

Повертає залишок від ділення аргументів.

double

 

double (x), long double (y));

 

long double

 

frexp(double x, int *exponent);

Виділяє з числа мантису і експоненціальну

double

 

frexp(long double (x), int *(exponent));

частину.

long double

 

ldexp(double x, int expon);

Перетворює мантису і показник степеня у

double

 

ldexpl(long double (x), int (expon));

число.

long double

 

log(double x);

Обчислює натуральний логарифм.

double

 

logl(long double (x));

long double

 

 

 

log10(double x);

Обчислює десятковий логарифм.

double

 

log10l(long double (x));

long double

 

 

 

modf(double x, double *ipart);

Розбиває число на цілу і дробову частини.

double

 

modfl(long double (x), long double

 

long double

 

*(ipart));

 

 

 

pow(double x, double y);

Підносить число до вказаного степеня.

double

 

pow(long double (x), long double (y));

long double

 

sinl(long double x)

Обчислює синус аргументу.

long double

 

sin(double x);

double

 

 

 

sinh(double x);

Обчислює гіперболічний синус аргументу.

double

 

sinhl(long double (x));

 

long double

 

sqrt(double x);

Обчислює квадратний корінь аргументу.

double

 

sqrtl(long double @E(x));

long double

 

 

 

tan(double x);

Обчислює тангенс аргументу.

double

 

tanl(long double x);

long double

 

 

 

tanh(double x);

Обчислює гіерболічний тангенс аргументу.

double

 

tanhl(long double (x));

 

long double

 

42

Стандартні функції I/O (stdio.h)

Таблиця 4.6

 

 

 

 

 

 

Функція

Опис

Тип

 

повернення

 

 

 

 

1

2

3

 

clearerr(FILE *stream);

Очищує прапорець помилок для вказаного

void

 

потоку.

 

 

 

 

fclose(FILE *stream);

Закриває потік.

int

 

fcloseall(void);

Закриває всі відкриті (на верхньому рівні)

int

 

файли (потоки).

 

 

 

 

feof(FILE *stream);

Перевіряє на кінець потоку.

int

 

ferror(FILE *stream);

Перевіряє прапорець помилок потоку.

int

 

fflush(FILE *stream);

Записує дані з буфера у потік.

int

 

fgetc(FILE *stream);

Читає символ з потоку.

int

 

fileno(FILE *stream);

Отримує дескриптор, пов’язаний з потоком.

int

 

fgetchar(void);

Читає символ із стандартного потоку

int

 

введення.

 

 

 

 

fgetpos(FILE *stream, fpos_t *pos);

Повертає поточну позицію у файлі.

int

 

fgets(char *s, int n, FILE *stream);

Читає рядок з потоку.

char *

 

fdopen(int handle, char *type);

Відкриває потік (відкриває файл і зв’язує його з

FILE*

 

 

потоком).

 

 

fprintf (FILE *stream, const char

Записує форматовані дані у файл (потік).

int

 

*format [, argument, ...]);

 

 

 

 

fputc(int c, FILE *stream);

Записує символ у файл (потік).

int

 

fputchar(int c);

Записує символ у стандартний потік.

int

 

fputs(const char *s, FILE *stream);

Записує рядок у файл (потік).

int

 

fread(void *ptr, size_t size, size_t n,

Читає дані з файла (потоку).

size_t

 

FILE *stream);

 

 

 

freopen(const char *filename, const

Повторно відкриває файл або потік у новому

FILE *

 

char *mode, FILE *stream);

режимі.

 

 

fscanf (FILE *stream, const char

Читає форматовані дані з файла (потоку).

int

 

*format [, address, ...]);

 

 

 

 

fseek(FILE *stream, long offset, int

Змінює позицію вказівника файла.

int

 

whence);

 

 

 

fsetpos(FILE *stream, const fpos_t

Переміщує вказівник файла відносно початку

int

 

*pos);

файла.

 

 

ftell(FILE *stream);

Повертає поточну позицію вказівника файла.

long

 

fwrite(const void *ptr, size_t size,

Записує дані із заданого буфера у файл

size_t

 

size_t n, FILE*stream);

(потік).

 

 

 

getc(FILE *stream);

Читає символ з файла (потоку).

int

 

getchar(void);

Читає символ з потоку stdin.

int

 

gets(char *s);

Читає рядок з потоку stdin.

char*

 

getw(FILE *stream);

Читає слово (два байти) з потоку.

int

 

printf ( const char *format [,

Записує форматовані дані у потік stdout.

int

 

argument, ...]);

 

 

 

 

putc(int c, FILE *stream);

Записує символ у файл (потік).

int

 

putchar(int c);

Записує символ у потік stdout.

int

 

puts(const char *s);

Записує рядок у потік stdout.

int

 

43

Продовження табл. 4.6

1

 

2

3

 

putw(int w, FILE *stream);

 

Записує слово (два байти) у файл (потік).

int

 

remove(const char *filename);

 

Знищує файл.

int

 

rename(const char *oldname, const

Перейменовує файл.

int

 

char *newname);

 

 

 

 

rewind(FILE *stream);

 

Встановлює вказівник файла на його початок

void

 

scanf ( const char *format [,

 

Читає форматовані дані з потоку stdin.

int

 

address, ...]);

 

 

 

 

 

 

setbuf(FILE *stream, char *buf);

 

Встановлює буферизацію файла (потоку).

void

 

setvbuf(FILE *stream, char *buf, int

Встановлює буферизацію і розмір файла

int

 

type, size_t size);

 

(потоку).

 

 

 

 

sprintf (char *buffer, const char

 

Записує форматовані дані у рядок.

int

 

*format [, argument, ...]);

 

 

 

 

 

 

sscanf (const char *buffer, const

 

Читає форматовані дані з рядка.

int

 

char *format [, address, ...]);

 

 

 

 

 

 

tempnam(char *dir, char *prefix);

 

Генерує ім’я тимчасового файла у заданому

char *

 

 

 

каталозі.

 

 

ungetc(int c, FILE *stream);

 

Повертає символ у файл (потік).

int

 

vfscanf(FILE *stream, const char

 

Читає форматовані дані з файла (потоку) з

int

 

*format, va_list arglist);

 

використанням списку аргументів.

 

 

 

 

vprintf (const char *format, va_list

 

Записує форматовані дані у стандартний потік

int

 

arglist);

 

виведення з використанням списку аргументів.

 

 

vsprintf(char *buffer, const char

 

Виводить форматовані дані у рядок з

int

 

*format, va_list arglist);

 

використанням списку аргументів.

 

 

 

 

vsscanf(const char *buffer, const

 

Читає форматовані дані з рядка з

int

 

char *format, va_list arglist);

 

використанням списку аргументів.

 

 

 

 

Стандартні функції для роботи з рядками (string.h)

Таблиця 4.7

 

 

 

 

 

 

Функція

 

Опис

Тип

 

 

повернення

 

 

 

 

 

1

 

2

3

 

strcat(char *dest, const char *src);

Об’єднує рядки.

char *

 

strchr(const char *s, int c);

Шукає символ у рядку.

char *

 

strcmp(const char *s1, const

Порівнює рядки.

int

 

char*s2);

 

 

 

 

 

strcpy(char *dest, const char

Копіює один рядок в інший.

char *

 

*src);

 

 

 

 

 

strcspn(const char *s1, const char

Знаходить перше входження символа із

size_t

 

*s2);

заданого набору символів у рядку.

 

 

 

strdup(const char *s);

Дублює рядок.

char *

 

strerror(int errnum);

Повертає вказівник на рядок з описом помилки.

char *

 

strlen(const char *s);

Повертає довжину рядка.

size_t

 

strlwr(char *s);

Перетворює рядок у нижній регістр.

char *

 

strncat(char *dest, const char

Об’єднує один рядок з n символами іншого.

char *

 

*src, size_t maxlen);

 

 

 

 

 

44

Продовження табл. 4.7

1

2

3

 

strncmp (const char *s1, const

Порівнює один рядок з n символами іншого.

int

 

char *s2, size_t maxlen);

 

 

 

 

strncpy(char *dest, const char

Копіює перші n символів одного рядка в інший.

char *

 

*src, size_t maxlen);

 

 

 

 

strnset(char *s, int ch, size_t n);

Заповнює n символів рядка заданим значенням.

char *

 

strpbrk(const char *s1, const char

Знаходить перше входження будь-якого символа

char *

 

*s2);

із заданого набору у рядок.

 

 

strrchr(const char *s, int c);

Шукає перше входження заданого символа у

char *

 

рядок.

 

 

 

 

strrev(char *s);

Інвертує рядок.

char *

 

strncat(char *dest, const char

Встановлює всі символи рядка у задане

char *

 

*src, size_t maxlen);

значення.

 

 

 

strspn(const char *s1, const char

Шукає перший символ одного рядка, відсутній в

size_t

 

*s2);

іншому.

 

 

strstr(const char *s1, const char

Шукає частину рядка в іншому рядку.

char *

 

*s2);

 

 

 

strupr(char *s);

Перетворює рядок у верхній регістр.

char *

 

Консольні стандартні функції I/O (conio.h)

Таблиця 4.8

 

 

 

 

 

Функція

Опис

Тип

 

повернення

 

 

 

 

1

2

3

 

cgets(char *str);

Читає рядок з консолі.

char *

 

clreol(void);

Стирає частину рядка від поточного положення

void

 

 

курсора до правої границі вікна.

 

 

clrscr(void);

Очищає екран або вікно.

void

 

cprintf (const char *format [ arg,

Виводить форматовані дані у текстове вікно.

int

 

...]); .

 

 

 

cputs(const char *str);

Виводить рядок у текстове вікно

int

 

cscanf (char *format [, address,

Читає форматовані дані з консолі.

int

 

...]);

 

 

 

delline(void);

Знищує поточний рядок у текстовому вікні.

void

 

getch(void);

Читає символ з консолі без ехо-друку.

int

 

getche(void);

Читає символ з консолі з ехо-друком.

int

 

getpass(const char *prompt);

Читає 8 символів з консольного терміналу без

char *

 

 

ехо-друку

 

 

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

Копіює частину текста з екрана у заданий буфер

int

 

bottom, void*destin);

 

 

 

gettextinfo(struct text_info *r);

Дає інформацію про текстовий режим.

void

 

gotoxy(int x, int y);

Переводить курсор у вказане місце екрана або

void

 

 

текстового вікна.

 

 

highvideo(void);

Встановлює високу яскравість символів.

void

 

insline(void);

Вставляє порожній рядок у текстове вікно.

void

 

inp(unsigned portid);

Читає байт з порту.

int

 

inport(int portid);

Читає 2 байти з порту.

int

 

45

Соседние файлы в папке kurs_prog_2