Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

osn_progr_final

.pdf
Скачиваний:
37
Добавлен:
12.02.2016
Размер:
3.27 Mб
Скачать

CTIME <time.h>

char *ctime(time);

long *time; // вказівник на час

Перетворює час , що зберігається як long у символьний рядок. Рядок результату містить 26 символів і має наступний вигляд:

Mon Jan 02 02:03:55 1980\n\0.

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

DIFFTIME <time.h>

double difftime(time2,time1);

time_t time2; //тип time_t, оголошений у <time.h>

Обчислює різницю між time2 і time1. Повертає пройдений час у секундах від time1 до time2 як число з подвійною точністю.

DIIEEETOMSBIN-DMSBINTOIEEE <math.h> int dieeetomsbin(src8,dst8);

Перетворює число подвійної точності формату IEEE до двійкового подвійного формату MS.

int dmsbintoieee(src8,dst8);

Перетворює число подвійної точності у форматі MS у число в форматі IEEE.

Ці функції дозволяють програмам С, що використовують числа з плаваючою крапкою у форматі IEEE, використовувати чисельні дані у двійковому форматі Microsoft і навпаки.

Аргумент src8 є вказівником на double значення, що перетворюється. Результат записується в dst8.

Повертають 0, якщо перетворення було успішним і -1 в противному випадку.

DOSEXTERR <dos.h>

int dosexterr(buffer);

struct DOSERROR *buffer;

Отримує значення регістра, що повертається системним викликом MS DOS 59H, і записує це значення в структуру, на яку вказує buffer.

Повертає значення в регістр AX .

ECVT <stdlib.h>

char *ecvt(value, ndigits, decptr,signptr); double value; //число, що перетворюється

int ndigits; //кількість цифр, що запам’ятовуються

381

int *decptr; //вказівник на запам’ятоване положення десяткової крапки

int *signptr; //вказівник на запам’ятований індикатор знаку Перетворює число value з плаваючою крапкою у симво-

льний рядок. Ecvt запам’ятовує ndigits цифр з value як рядок і додає нульовий символ (‘\0’). Якщо кількість цифр у value перевищує ndigits, остання значуща цифра округляється. Якщо цифр менше, ніж ndigits, рядок доповнюється нулями. У рядку зберігаються тільки цифри. Положення десяткової крапки і знака в value може бути визначене після виклику функції з decptr і signptr. Аргумент decptr вказує на ціле число, що визначає положення десяткової крапки відносно початку рядка. 0 чи від’ємне значення означають, що десяткова крапка розміщена лівіше першої цифри. Аргумент signptr вказує на ціле, що визначає знак числа. Якщо signptr дорівнює 0, число додатнє, інакше – від’ємне.

Повертає вказівник на рядок цифр. У випадку помилки значення, що повертається, немає.

EOF <io.h>

int eof(handle); int handle;

Визначає чи досягнуто кінця файлу, що асоційований з дескриптором handle.

Повертає значення 1, якщо поточна позиція є кінцем файлу і 0 – у противному випадку.

EXECL – EXECVPE <process.h>

int execl(pathname, arg0, arg1 ... ,argn, NULL);

int execle(pathname, arg0, arg1 ... ,argn, NULL, envp); int execlp(pathname, arg0, arg1 ... ,argn, NULL);

int execlpe(pathname, arg0, arg1 ... ,argn, NULL, envp); int execv(pathname, argv);

int execve(pathname, argv, envp); int execvp(pathname, argv);

int exevpe(pathname, argv, envp);

char *pathname; //ім’я файлу, що виконується

char *arg0, *arg1, ..., *argn; //список вказівників на аргументи char *argv[]; //масив вказівників на аргументи

char *envp[]; //масив вказівників на встановлене оточення

382

Завантажують і виконують новий дочірній процес. Якщо виклик відбувся успішно, дочірній процес розміщується в пам’яті викликаючого процесу.

Аргументи для нового процесу передаються через вказівники на символьні рядки. Загальна довжина рядків, що визначає список аргументів для нового процесу, не може перевищувати 128 байт. Вказівники аргументів можуть передаватися як окремі аргументи (у execl, execle, execlp, execlpe) чи як масив вказівників(у execv, execve, execvp, execvpe). Принаймні один аргумент – arg0 чи argv[0] – повинен бути переданий дочірньому процесу. Цей аргумент дублює аргумент pathname.

Виклики execl, execle, execlp, execlpe зазвичай використову-

ються тоді, коли кількість аргументів відома заздалегідь; execv, execve, execvp, execvpe – тоді, коли кількість аргумен-

тів для нового процесу є змінною.

Аргумент envp є масивом вказівників на char, кожен елемент якого (крім останнього елемента) вказує на рядок, що визначає змінну оточення. Цей рядок має вигляд:

varname = value,

де varname – ім’я змінної оточення, value – значення рядка.

EXP <math.h> double exp(x); double x;

Повертає e у степені x.

FABS <math.h> double fabs(x); double x;

Повертає абсолютне значення свого аргумента.

FCLOSE-FCLOSEALL <stdio.h> int fclose(stream);

FILE *stream; int fcloseall();

Закривають відповідно заданий потік або всі відкриті потоки. Перед закриттям всі буфери, пов’язані з потоками, звільняються.

Функція fclose повертає 0 при успішному закритті. Функція fcloseall повертає загальну кількість закритих потоків. У випадку помилки обидві функції повертають значення EOF.

FCVT <stdlib.h>

383

char fcvt (value, ndec, decptr, signptr); double value;

int ndec; // кількість цифр після десяткової крапки

int *decptr; //вказівник на положення десяткової крапки int *signptr; //вказівник на індикатор знаку

Перетворює число value з плаваючою крапкою у символьний рядок. Див. ectv.

FDOPEN <stdio.h>

FILE *fdopen (handle,type);

int handle; //дескриптор, що посилається на відкритий файл char type; //тип доступу

Зв’язує потік вводу-виводу з файлом, ідентифікованим дескриптором handle, що дозволяє буферизувати потік, відкритий на низькому рівні.

Повертає вказівник на відкритий потік. У випадку помилки значення вказівника дорівнює NULL. Тип доступу визначається так:

"r" для читання (файл повинен існувати);

"w" для запису (якщо файл раніше існував, його вміст знищується);

"a" для запису (дописування) в кінець файла (створює файл, якщо його немає);

"r+" для читання та запису одночасно (файл повинен існувати);

"w+" порожній файл для читання та запису одночасно (якщо існує, то вміст знищується);

"a+" для читання та дописування (створює файл, якщо його немає).

FEOF <stdio.h>

int feof(stream); FILE *stream;

Визначає, чи досягнуто кінця заданого потоку. Якщо кінець файлу (EOF) досягнуто, то операції читання повертають ЕОF, поки потік не буде закритий або не буде викликано фу-

нкцію rewind.

Якщо поточна позиція є кінцем файлу (EOF), функція feof повертає ненульове значення. Якщо поточна позиція не є кінцем файлу повертається значення 0.

FERROR <stdio.h>

384

int ferror (stream); FILE *stream;

Перевіряє заданий потік на предмет помилки читання і запису. При виникненні помилки індикатор помилки залишається встановленим поки потік не закриється (rewind) або не буде викликано функцію clearerr.

Повертає ненульове значення у випадку виявлення помилки в потоці stream і 0, якщо помилки немає.

FFLUSH <stdio.h>

int fflush (stream); FILE *stream;

Якщо заданий потік stream відкритий для виведення, то вміст буфера, зв’язаного з потоком stream, записується у відповідний файл. Якщо потік відкритий для введення, то функція очищає вміст буфера. Після виклику функції потік залишається відкритим.

Повертає 0, якщо буфер успішно оновлений.

У випадку виникнення помилки повертається значення EOF.

_FFREE <malloc.h> void _ffree(ptr);

char far *ptr; //вказівник на виділену область пам’яті Звільняє блок пам’яті, виділений функцією _fmalloc.

Значення, що повертається, немає.

FGETC-FGETCHAR <stdio.h> int fgetc (stream); FILE *stream

Читає символ із вхідного потоку stream і збільшує файловий покажчик (якщо він є) так, щоб він вказував на наступний символ, що зчитується.

int fgetchar();

Функція fgetchar є еквівалентною до функції fgetc(stdin). Повертають зчитаний символ. У випадку виникнення помилки чи досягнення кінця файлу повертається значення EOF.

FGETS <stdio.h>

char *fgets(string, n, stream);

char *string; //пам’ять для збереження даних int n; //кількість символів, що зберігається

FILE *stream;

385

Читає рядок із вхідного потоку stream і записує його в string. Символи зчитуються, починаючи з поточної позиції stream, до символу нового рядка ‘\n’ чи до кінця потоку, або поки число символів не стане рівним n-1. Результат розміщується у string, а потім до нього додається символ ‘\0’. Символ нового рядка також включається в string. Якщо напочатку зчитування n дорівнювало 1, то string буде порожнім (""). Функція fgets аналогічна до бібліотечної функції gets, однак, gets замінює символ нового рядка нульовим символом.

Повертає вказівник на рядок string. У випадку помилки чи кінця файлу повертається значення NULL.

FIEEETOMSBIN-FMSBINTOIEEE <math.h> int fieeetomsbin(src4,dst4);

Перетворює число одинарної точності з плаваючою крапкою з формату IEEE до двійкового формату Microsoft. int fmsbintoieee(src4,dst4);

Перетворює число з плаваючою крапкою з двійкового формату Microsoft до формату IEEE.

Аргумент scr4 вказує на вихідне float-значення. Результат записується згідно з аргументом dst4.

Ці функції повертають 0, якщо перетворення було успішним і 1, у противному випадку.

FILELENGTH <io.h>

long filelength(handle);

int handle; //дескриптор відкритого файла

Повертає в байтах довжину файла, зв’язаного з дескрип-

тором handle.

Повертає довжину файла в байтах. Якщо виникає помилка, повертається -1.

FILENO <stdio.h>

int fileno (stream); FILE *stream.

Повертає поточний handle (дескриптор) файлу, зв’язаного з потоком stream. У випадку помилки значення, що повертається, немає.

FLOOR <math.h> double floor(x); double x;

386

Повертає значення з плаваючою крапкою, яке являє собою найбільше ціле, менше або рівне x.

Значення, що повертається, у випадку помилки немає.

FLUSHALL <stdio.h> int flushall();

Записує вміст усіх буферів, зв’язаних з відкритими вхідними потоками, у відповідні файли. При цьому усі потоки залишаються відкритими.

Повертає кількість відкритих потоків (вхідних і вихідних). У випадку помилки значення, що повертається, немає.

_FMALLOC <malloc.h>

char far *_fmalloc(size); unsigned size;

Виділяє size байт пам’яті за стандартним сегментом (за far-адресою). Блок може бути більшим, ніж size байт, враховуючи вирівнювання. У пам’яті, на яку вказує значення, що повертається, гарантоване вирівнювання для збереження будь-якого типу об’єкта.

Повертає far-вказівник на char. Якщо пам’яті недостатньо, то повертається NULL.

FMOD <math.h>

double fmod(x,y); double x;

double y;

Обчислює остачу від ділення x на y як значення з плаваючою крапкою.

Повертає остачу від ділення x на y. Якщо y дорівнює 0, функція повертає 0.

_FMSIZE <malloc.h> unsigned _fmsize(ptr);

char far *ptr; //вказівник на блок пам’яті.

Повертає розмір у байтах блоку пам’яті, виділеного за допомогою виклику _fmalloc.

FOPEN <stdio.h>

FILE *fopen(pathname, type);

char *pathname; // path-ім’я файлу char *type; //дозволений тип доступу

Відкриває файл з ім’ям path. Символи в рядку type визначають тип доступу до файла:

387

"r" для читання (файл повинен існувати);

"w" для запису (якщо файл раніше існував, його вміст знищується);

"a" для запису (дописування) в кінець файла (cтворює файл, якщо його немає);

"r+" для читання та запису одночасно (файл повинен існувати);

"w+" порожній файл для читання та запису одночасно (якщо існує, то вміст знищується);

"a+" для читання та дописування (створює файл заново, якщо його немає).

Крім значень, описаних вище, рядок type може містити один з наступних символів, що специфікують спосіб перетворення символу нового рядка:

t – відкрити в текстовому (перетворюючому) режимі. При введенні комбінація "Повернення каретки - переведення рядка" перетворюється до єдиного символу "Переведення рядка". При виводі символ переведення рядка перетворюється в комбінацію "Повернення каретки - переведення рядка".

b – відкрити в двійковому (неперетворюючому) режимі; вище описані перетворення не здійснюються.

Функція fopen повертає вказівник на відкритий файл. Значення вказівника NULL свідчить про помилку.

FP_OFF - FR_SEG <dos.h> unsigned FP_OFF(longptr); unsigned FP_SEG(lohgptr);

char far *longptr; // long-вказівник на адресу пам’яті

Макроси FP_OFF і FP_SEG можуть використовуватися відповідно для встановлення адреси зміщення чи сегмента за допомогою long-вказівника longptr.

Макрос FP_OFF повертає беззнакове ціле значення, що являє собою адресу зміщення.

Макрос FP_SEG повертає беззнакове ціле значення, що являє собою адресу сегмента.

_FPRESET <float.h> void _fpreset();

Функція _fpreset переініціалізовує математичний пакет з плаваючою крапкою. Ця функція зазвичай використовується

388

з процедурами signal, system чи з сімейством процедур exec, spawn.

Значення, що повертається, немає.

FPRINTF <stdio.h>

int fprintf (stream, format-string [, argument ...]); FILE *stream;

char *format-string;

Функція fprintf форматує і друкує у вихідний потік набори символів та значень. Кожен аргумент перетворюється і виводиться відповідно до заданої специфікації формату. Рядок формату (format-string) має ту ж форму і функцією, що й аргумент рядка формату функції printf.

Ця функція повертає кількість надрукованих символів.

FPUTC-FPUTCHAR <stdio.h>

int fputc (c, stream); //записує символ у потік stream int c; //записаний символ

FILE *stream;

int fputchar (c); //записує символ у потік stdout int c; записаний символ.

Функція fputc записує окремий символ c у вихідний потік stream. Функція fputchar є еквівалентною до функції fputc(c, stream).

Обидві функції повертають записаний символ. Значення EOF свідчить про помилку.

FPUTS <stdio.h>

int fputs (string, stream);

char *string; //виведений рядок

FILE *stream; //вказівник на структуру FILE

Записує рядок string в потік stream. При цьому символ ‘\0’ не копіюється.

Повертає останній записаний символ. Якщо рядок, що виводиться, порожній, повертається значення 0. Значення EOF свідчить про помилку.

FREAD <stdio.h>

int fread (buffer, size, count, stream);

char *buffer; // пам’ять для розміщення даних int size; //розмір у байтах

int count;// максимальне число об’єктів для читання

FILE *stream;

389

Читає count об’єктів розміром size із вхідного потоку stream і розташовує їх у буфері buffer. Файловий покажчик, зв’язаний з потоком stream (якщо він є), збільшується на число прочитаних байт.

Повертає число дійсно прочитаних об’єктів, що менше, ніж count, якщо при читанні виникла помилка чи було досягнуто кінець файлу.

FREE <malloc.h> void free(ptr);

char *ptr; //вказівник на блок пам’яті

Звільняє блок пам’яті, на який вказує ptr і який був раніше виділений за допомогою виклику calloc, malloc, realloc. Значення, що повертається, немає.

_FREECT <malloc.h>

unsigned int _freect(size);

unsigned int size; //розмір об’єкта в байтах

Повідомляє про об’єм вільної пам’яті в сегменті даних і повертає приблизну кількість викликів функції malloc для розміщення об’єкта роміром size байт.

FREOPEN <stdio.h>

FILE *freopen (pathname, type, stream); char *pathname; //path-ім’я нового файлу char *type; //дозволений тип доступу

FILE *stream;

Закриває поточний файл, зв’язаний з потоком stream, і переспрямовує цей потік у файл з path-іменем. Тип доступу має аналогічний зміст як і для функції fopen.

Повертає вказівник на відкритий файл. Якщо виникла помилка, попередній файл закривається і функція повертає значення вказівника NULL.

FREXP <math.h>

double frext(x,expptr); double x;

int *expptr;

Розриває значення з плаваючою крапкою на мантису m і експоненту n, так що абсолютне значення m знаходиться в межах [0.5;1.0), а x дорівнює m, помножене на 2 у степені n. Ціле значення експоненти n зберігається у expptr.

390

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