Описание функций Си

         

Cabs



     cabs

Функция Абсолютное значение комплексного числа.

Синтаксис #include

double cabs(struct complex z);

Файл, содержащий math.h прототип

Описание cabs - это макрокоманда, которая вычисляет абсо- лютное значение комплексного числа z. z является структурой типа complex; структура определена в math.h следующим образом:

struct complex { double x,y; };

где x есть действительная часть, а y - мнимая часть.

Вызов cabs эквивалентен вызову sqrt с действи- тельной и мнимой частью z, как показано ниже:

sqrt(z.x * z.x + z.y + z.y)

При использовании С++, можно воспользоваться ти- пом complex, определенном в файле complex.h, и функцией abs.

Возвращаемое cabs возвращает абсолютное значение z типа double. значение При переполнении cabs возвращает HUGE_VAL и уста- навливет errno в

ERANGE - Результат превышает допустимые пределы.

Управление ошибками для cabs можно изменить с по- мощью функции matherr.

Переносимость cabs поддерживается на системах UNIX.

Смотрите также

Пример:

#include

#include

int main() { struct complex z; double val; z.x=2.0; z.y=1.0; val = cabs(z); printf("Абсолютное значение от (%.2lfi %.2lfj) = %.2lf",z.x, z.y,val); return 0; }





Calloc



     calloc

Функция Выделяет оперативную память.

Синтаксис #include

void * calloc(size_t nitems, size_t size);

Файл, содержащий stdlib.h,alloc.h прототип

Описание calloc обеспечваеит доступ к памяти heap. heap доступен для динамического распределения блоков памяти переменной длины. Многие структуры данных, например, деревья и списки, используют распределение памяти heap.

Все пространство памяти между концом сегмента данных и верхушкой программного стека доступно для использования в моделях памяти small (tiny, small, medium), кроме небольшой области в самой верхней части стека. Это пространство необходимо для роста стека прикладной программы и плюс не- большая часть, используемая DOS.

В моделях памяти типа large (compact, large, huge) все пространство за границей программного стека до конца физической памяти доступно для heap.

calloc выделяет блок памяти размером nitems x size. Блок обнуляется. Если размер блока превыша- ет 64К то нужно использовать функцию farcalloc.

Возвращаемое calloc возвращает указатель на выделенный блок. значение calloc возвращает NULL, если недостаочно памяти для выделения нового блока, или nitems или size равны 0.

Переносимость Поддерживается в системах UNIX и определена в ANSI C. Описана в Керниган и Риччи.

Смотрите также

Пример:

#include

#include

#include

int main(void) { char *str = NULL; /* выделить память для строки */ str = calloc(10,sizeof(char)); if(str) { /* скопировать в строку "Hello" */ strcopy(str,"Hello"); /* вывести строку */ printf("Строка : %s\n",str); /* освободить память */ free(str); } else { printf("Недостаточно памяти\n"); } return(0); }



Ceil



     ceil

Функция Округление.

Синтаксис #include

double ceil(double x);

Файл, содержащий math.h прототип

Описание ceil находит наименьшее целое число, не меньшее x.

Возвращаемое ceil возвращает найденное число (тип double). значение

Переносимость Поддерживается в системах UNIX и определена в ANSI C.

Смотрите также

Пример:

#include

#include

int main(void) { double number = 123.54; double down,up; down = floor(number); up = ceil(number); printf("Исходное число:%5.21f\n",number); printf("Округленное вниз :%5.21f\n",down); printf("Округленное вверх :%5.21f\n",up); return 0; }



Cgets



     cgets

Фукция Cчитывает строку с консоли.

Синтаксис #include

char *cgets(char *str);

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

Описание cgets считывает символьную строку с консоли и сохраняет ее (и длину строки) в буфере, указывае- мом параметром str.

cgets считывает символы до тех пор, пока не вст- ретится комбинация CR/LF (возврат каретки/перевод строки), или пока не будет считано указанное чис- ло символов. Если cgets считала комбинацию CR/LF, она заменяет их на \0 (нулевой ограницитель стро- ки).

До вызова cgets аргумент str[0] должен быть уста- новлен на максимальную длину считываемой строки. При возврате str[1] содержит количество считанных символов. Символы хранятся, начиная с str[2], и заканчиваются нулевым символом. Итак, аргумент str должен иметь размер, по крайней мере, str[0] плюс 2 байта.

Возвращаемое При успешном завершении cgets возвращает указатель значение на str[2].

Переносимость Эта функция поддерживается только на компьютерах IBM PC или совместимых с ними.

Смотрите также

Пример:

#include

#include

main() { char buffer[83]; char *p; /* место под 81 символ */ buffer[0] = 81; p = cgets(buffer); printf("\ncgets считала %d символов: \"%s\"\n",buffer[1], p); printf("Возвращается указатель %p, buffer[2] на %p\n",p,&buffer); /* место под 5 символов и завершающий 0 */ buffer[0] = 6; printf("Введите несколько символов\n"); p = cgets(buffer); printf("\ncgets считала %d символов: \"%s\"\n,buffer[1], p); printf("Возвращается указатель %p, buffer[2] на %p\n",p,&buffer); return 0; }



Chdir



     chdir

Функция Изменяет текущую директорию.

Синтаксис #include

int chdir(const char * path);

Файл, содержащий dir.h прототип

Описание Функция chdir делает директорию, определяемую ар- гументом path, текущей рабочей директорией. Аргу- мент path должен определять существующую директо- рию.

Спецификация устройства также может задаваться в аргументе path, например,

chdir("a:\\tc")

но изменяется только текущая директория на этом устройстве; само активное устройство не изменяет- ся.

Возвращаемое При успешном завершении функция chdir выдает зна- значение чение 0. Иначе, функция возвращает значение -1, а errno присваивается следующее значение:

ENOENT - Маршрут или имя файла не найдены.

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

Смотрите также

Пример:

#include

#include

#include

char old_dir[MAX_DIR]; char new_dir[MAX_DIR]; int main(void) { if(getcurdir(0,old_dir)) { perror("getcurdir()"); exit(1); } printf("Текущая директория: \\%s\n",old_dir); if(chdir("\\"); { perror("chdir()"); exit(1); } if(getcurdir(0,new_dir)) { perror("getcurdir()"); exit(1); } printf("Теперть текущая директория: \\%s\n",new_dir); if(chdir(old_dir); { perror("chdir()"); exit(1); } return 0; }



Chmod



     chmod

Функция Изменяет режим доступа к файлу.

Синтаксис #include

int chmod(const char * path, int amode);

Файл, содержащий io.h прототип

Описание Функция chmod уставливает режим доступа к файлу, заданному аргументом path в соответствии с мас- кой, содержащейся в аргументе amode. Аргумент path представляет собой адресный указатель сим- вольной строки; *path является первым сиволом этой строки.

amode может содержать одну или обе символьные константы S_IWRITE и S_IREAD (определенные в фай- ле sys\stat.h).

--------------------------------------------------- Значение, amode Режим доступа --------------------------------------------------- S_IWRITE Разрешение на запись S_IREAD Разрешение на чтение S_IREAD|S_IWRITE Разрешение на чтение и запись ---------------------------------------------------

Возвращаемое При успешном завершении изменения режима доступа к значение файлу функция chmod возвращает значение 0. Иначе, chmod возврашает значение -1.

В случае ошибки errno присваивается одно из сле- дующих значений:

ENOENT - Маршрут или имя файла не найдены; EACCES Отказ доступа.

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

Смотрите также

Пример:

#include

#include

#include

void make_read_only(char *filename); int main(void) { make_read_only("NOTEXIST.FIL"); make_read_only("MYFILE.FIL"); return0 0; } void make_read_only(char *filename) { int stat; stat = chmod(filename, S_IREAD); if (stat) printf("Не могу сделать %s только для чтения\n", filename); else print(" %s теперь имеет атрибут только для чтения\n", filename); } Результат



Chsize



     chsize

Функция Изменяет размер файла.

Синтаксис #include

int chsize(int handle, long size);

Файл, содержащий io.h прототип

Описание chsize изменяет размер файла, связанного с дескриптором handle. Она может уменьшить или уве- личить файл относительно его начального размера в зависимости от значения аргумента size.

Режим, в котором открывается файл, должен иметь разрешение на запись.

Если chsize увеличивает файл, то к нему присоеди- няются нулевые символы (\0). Если файл уменьшается, то данные за новым признаком конца файла теряют- ся.

Возвращаемое При успешном завершении chsize возвращает 0. При значение ошибке возвращается -1, а переменной errno присваивается одно из следующих значений:

EACCES - Отказ доступа; EBADF - Неверный номер файла; ENOSPC - UNIX - не для DOS.

Переносимость chsize уникальна для DOS.

Смотрите также

Пример:

#include

#include

#include

int main(void) { int handle; char buf[11] = "0123456789"; /* создать текстовый файл из 10 байт */ handle = open("DUMMY.FIL",O_CREAT); write(handle,buf,strlen(buf)); /* обрезать файл до 5 байт */ chsize(handle,5); /* закрыть файл */ close(handle); return 0; }



Circle



     circle

Функция Рисует окружность заданного радиуса с центром в точке с координатами (x,y).

Синтаксис #include

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

Файл, содержащий graphics.h прототип

Описание circle рисует окружность текущим цветом с цент- ром в точке (x,y) и радиусом radius.

Замечание. Параметр linestyle не оказывает воз- действие при построении дуг, окружностей, элипсов и секторов. Используется только параметр thickness.

Если на экране окружности не выглядят круглыми, измените корректирующий фактор характеристическо- го отношения.

Возврощаемое Нет. значение

Переносимость Функция уникальна для Turbo C++. Она работает только на компьютерах IBM PC и совместимых с ними, оснащенных дисплейными адаптерами, поддерживающими графический режим.

Смотрите также

Пример:

#include

#include

#include

#include

int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; int midx,midy; int radius = 100;

/* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,"");

/* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } midx = getmaxx() / 2; midy = getmaxy() / 2; setcolor(getmaxcolor(1));

/* рисует окружность */ circle(midx,midy,radius);

/* очистить */ getch(); closegraph(); return 0; }



Cleardev



     cleardevice

Функция Очищает графический экран.

Синтаксис #include

void far cleardevice(void);

Файл, содержащий graphics.h прототип

Описание cleardevice стирает (это значит - зарисовыва- ет текущим цветом фона) весь графический экран и переносит CP (текущую позицию) в начало экрана (0,0).

Возвращаемое Нет. значение

Переносимость Функция уникальна для Turbo C++. Она работает только на компьютерах IBM PC и совместимых с ни- ми, оснащенных дисплейными адаптерами, поддержи- вающими графический режим.

Смотрите также

Пример:

#include

#include

#include

#include

int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; int midx,midy;

/* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,"");

/* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } midx = getmaxx() / 2; midy = getmaxy() / 2; setcolor(getmaxcolor(1));

/* установка выравнивания текста */ settextjustify(CENTER_TEXT,CENTER_TEXT); /* вывод на экран сообщения */ outtextxy(midx,midy,"Для очистки экрана нажмите любую клавишу); /* ожидание нажатия клавиши */ getch(); /* очистка экрана */ cleardevice(); /* вывести другое сообщение */ outtextxy(midx,midy,"Для завершения нажмите любую клавишу"); /* очистка */ getch(); closegraph(); return 0; }



Clearerr



     clearerr

Функция Сброс индикации ошибок.

Синтаксис #include

void clearerr(FILE * stream);

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

Описание clearerr сбрасывает в 0 ошибку и признак конца файла указанного потока. После того, как был ус- тановлен признак ошибки, потоковые операции возв- ращают состояние ошибки до тех пор, пока не будет сделано обращение к clearerr или rewind.

Признак конца файла сбрасывается при каждой опе- рации ввода.

Возвращаемое Нет. значение

Переносимость clearerr поддерживается на системах UNIX и опреде- лена в ANSI C.

Смотрите также

Пример:

#include

int main(void) { FILE *fp; char ch; /* открыть файл для записи */ fp = open("DUMMY.FIL","w"); /* вызвать ошибочное состояние */ ch = getc(fp); if(ferror(fp) { /* вывести сообщение об ошибке */ printf("Ошибка чтения из DUMMY.FIL\n"); /* Сбросить признаки конца файла и ошибки */ clearerr(fp); } fclose(fp); return 0; }



Clearvie



     clearviewport

Функция Очищает текущую область просмотра.

Синтаксис #include

void far clearviewport(void);

Файл, содержащий graphics.h прототип

Описание clearviewport очищает текущую область просмотра экрана и переносит CP ( текущую позицию ) в (0,0), относительно области просмотра.

Возвращаемое Нет. значение

Переносимость Функция уникальна для Turbo C++. Она работает только на компьютерах IBM PC и совместимых с ни- ми, оснащенных дисплейными адаптерами, поддержи- вающими графический режим.

Смотрите также

Пример:

#include

#include

#include

#include

#define CLIP_ON 1 /* активизации клиппирования в области просмотра */

int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; int ht;

/* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,"");

/* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } setcolor(getmaxcolor(1)); ht = textheight("W"); /* сообщение выводится в область просмотра, по умолчанию это весь экран */ outtextxy(0,0,"



Clock



     clock

Функция Определяет время процессора.

Синтаксис #include

clock_t clock(void);

Файл, содержащий time.h прототип

Описание clock может быть использована для определения интервала времени между двумя событиями.

Для определения времени в секундах, значение, возвращаемое функцией clock, должно быть поделено на значение макро CLK_TCK.

Возвращаемое Функция clock возвращает время процессора значение с момента начала выполнения программы. Если время процессора недоступно или его значение не может быть интерпретировано, то функция возвращает зна- чение -1.

Переносимость clock совместима с ANSI C.

Смотрите также

Пример:

#include

#include

int main(void) { clock_t start, end; start = clock(); /* Тестируемые операторы */ delay(2000); end = clock(); printf("The time was: %f\n", (end - start) / CLK_TCK); return 0; }



Close



     close

Функция Закрывает файл.

Синтаксис #include

int close(int handle);

Файл, содержащий io.h прототип

Описание close закрывает файл, связанный с дескриптором handle. Аргумент handle обозначает дескриптор файла, присваиваемый ему при вызове функций _creat, creat, creatnew, creattemp, dup, dup2, _open или open.

Примечание. Эта функция не записывает символ Ctrl-Z в конец файла. Если вы хотите завершить файл этим символом, его следует явно вывести.

Возвращаемое При успешном завершении close значение возвращают значение 0. Иначе возвращается значе- ние -1.

Если аргумент handle не является дескриптором от- крытого файла, это приводит к неудачному заверше- нию операции. errno получает следующее значение:

EBADF - Неверный номер файла.

Переносимость close поддерживается в системах UNIX.

Смотрите также

Пример:

#include

#include

#include

int main(void) { int handle; char buf[11] = "0123456789"; /* создать файл содержащий 10 байт */ handle = open("NEW.FIL",O_CREAT); if(handle > -1) { write(handle,buf,strlen(buf)); /* закрыть файл */ close(handle); } else { printf("Ошибка, при открытии файла\n"); } return 0; }



Closegra



     closegraph

Функция Прекращает работу графической системы.

Синтаксис #include

void far closegraph(void)

Файл, содержащий graphics.h прототип

Описание closegraph освобождает всю память,выделен- ную под графическую систему, затем восстанавлива- ет экран в режим, который был до вызова initgraph. (Графическая система освобождает па- мять, а также драйверы, шрифты и внешние буферы посредством вызова _graphfreemem).

Возвращаемое Нет. значение

Переносимость Функция уникальна для Turbo C++. Она работает только на компьютерах IBM PC и совместимых с ни- ми, оснащенных дисплейными адаптерами, поддержи- вающими графический режим.

Смотрите также

Пример:

#include

#include

#include

#include

int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; int x,y;

/* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,"");

/* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ }

x = getmaxx()/2; y = getmaxy()/2; /* вывод сообщения */ settextjustify(CENTER_TEXT,CENTER_TEXT); outtextxy(x,y,"Для завершения работы графической системы нажмите любую клавишу"); /* ожидание нажатия клавиши */ getch(); /* закрытие графической системы */ closegraph();

printf("Мы опять в текстовом режиме\n"); printf("Для завершения нажмите любую клавишу\n"); getch(); return 0; }



Clreol



     clreol

Функция Удаляет до конца строки в текстовом окне.

Синтаксис #include

void clreol(void);

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

Описание clreol удаляет все символы от позиции курсора до конца строки в текущем текстовом окне без переме- щения курсора.

Возвращаемое Нет. значение

Переносимость clreol поддерживается только на компьютерах IBM PC или совместимых с ними.

Смотрите также

Пример:

#include

int main(void) { clrscr(); cprintf("Функция CLREOL обнуляет все символы, начиная\r\n"); cprintf("от позиции курсора, до конца строки, внутри \r\n"); cprintf("текущего текстового окна, без перемещения курсора.\r\n"); cprintf("Для продолжения нажмите любую клавишу..."); gotoxy(14,4); getch(); clreol(); getch(); return 0; }



Clrscr



     clrscr

Функция Очищает окно в текстовом режиме.

Синтаксис #include

void clrscr(void);

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

Описание clrscr очищает текущее текстовое окно и перемеща- ет курсор в верхний левый угол экрана (в позицию 1,1).

Возвращаемое Нет. значение

Переносимость clrscr поддерживается только на компьютерах IBM PC или совместимых с ними.

Смотрите также

Пример:

#include

int main(void) { clrscr(); for(i=0;i



Complex



     complex

Функция Создает комплексные числа.

Синтаксис #include

complex complex(double real,double imag);

Файл, содержащий complex.h прототип

Описание Создает комплексное число из данных вещественной и мнимой части. Если параметр imag опускается, то мнимая часть считается равной 0. complex - это конструктор класса С++ complex, который определен в complex.h. Другие функции, которые также позво- ляют работать с complex, приведены в разделе "Смотри также". Некоторые из этих стандартных функций переопределяются в Для работы с комплексными версиями этих функций требуется С++. Если вы не желаете работать с С++, а предпочитае- те с С, то вам доступны только конструкции типа и возвращающие абсолютное значение комплексного числа. Они определены в В кроме этого переопределяются операции +, -, *, /, + - * / и ! Это позволяет использовать с комплексными числами обычные операции. В выражениях вы можете исполь- зовать вместе с комплексными числами, целые, ве- щественные и другие числовые типы. Опереторы по- токового ввода/вывода и переопределены для комплексных чисел, так же как и для остальных чи- сел.

Возвращаемое Комплексное число с данными вещественной и мнимой значение частями.

Переносимость Комплексные функции требуют С++ и поэтому непере- носимы. Поскольку мы следуем С++ AT&T версии 2.0, то вы можете попробовать комплексные функции на других компиляторах, придерживающихся этого же стандарта.

Смотрите также , 0,

Пример:

#include

#include

int main(void) { double x = 3.1, y=4.2; complex z = complex(x,y); cout



Conj



     conj

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

Синтаксис #include

complex conj(complex x);

Файл, содержащий complex.h прототип

Описание conj(z) аналогично complex(real(z), -imag(z)).

Возвращаемое Возвращает комплексно-сопряженное к данному число. значение

Смотри также

Пример:

#include

#include

int main(void) { double x = 3.1, y=4.2; complex z = complex(x,y); cout



Coreleft



     coreleft

Функция Возвращает размер неиспользуемой оперативной памяти.

Синтаксис В моделях данных tiny, small, medium: #include

unsigned coreleft(void);

В моделях данных compact, large, huge: #include

unsigned long coreleft(void);

Файл, содержащий alloc.h прототип

Описание coreleft возвращает размер неиспользуемой оперативной памяти. Выводятся различные значения в зависимости от модели памяти.

Возвращаемое В малых моделях памяти coreleft возвращает значение количество неиспользуемой памяти между вершиной heap и стеком. В больших моделях памяти, она воз- вращает объем памяти между самым верхним выделен- ным блоком и концом оперативной памяти.

Переносимость coreleft уникальна для DOS.

Смотрите также Пример:

#include

#include

int main(void) { printf("Разница между самым верхним выделенным блоком и \n"); printf("вершиной heap равна %lu байт",(unsigned long)coreleft()); return 0; }



Cos



     cos

Функция Вычисляет косинус.

Синтаксис Вещественная версия Комплексная версия #include #include

double cos(double x); complex cos(complex x);

Файл, содержащий Вещественная версия Комплексная версия прототип math.h complex.h

Описание cos возвращает косинус введенного значения. Угол задается в радианах.

Косинус комплексного числа определен следующим об- разом:

cos(z)=(exp(i*z)+exp(-i*z))/2

Возвращаемое Вещественная версия cos возвращает значение в диа- значение пазоне от -1 до 1. Управление ошибками для этой функции можно изменить с помощью функции matherr.

Переносимость cos поддерживается в системах UNIX и определена в ANSI C. Комплексная версия требует С++ и неперено- сима.

Смотрите также ,

Пример:

#include

#include

int main(void) { double result; double x = 0.5; result = cos(x); printf("Косинус от %1f равен %1f\n",x,result); return 0; }



Cosh



     cosh

Функция Вычисляет гиперболический косинус.

Синтаксис Вещественная версия Комплексная версия #include #include

double cosh(double x); complex cosh(complex x);

Файл, содержащий Вещественная версия Комплексная версия прототип math.h complex.h

Описание cosh возвращает гиперболический косинус введенного значения. (e^x+e^-x)/2

Гиперболический косинус комплексного числа опре- делен следующим образом:

cosh(z)=(exp(z)+exp(-z))/2

Возвращаемое cosh возвращает гиперболический косинус аргумента. значение В случае переполнения cosh возвращает значение HUGE_VAL с сответствующим знаком, и errno уста- навливается в ERANGE.

Обработку ошибок для этой функции можно изменить с помощью функции matherr.

Переносимость cosh поддерживается в системах UNIX и определена в ANSI C. Комплексная версия требует С++ и скорее всего непереносима.

Смотрите также ,

Пример:

#include

#include

int main(void) { double result; double x = 0.5; result = cosh(x); printf("Гиперболический косинус от %1f равен %1f\n",x,result); return 0; }



Country



     country

Функция Возвращает информацию, зависимую от конкретной страны.

Синтаксис #include

struct country * country(int xcode, struct country * cp);

Файл, содержащий dos.h прототип

Описание Функция country определяет, каким образом должна быть сформирована такая информация, как дата, время, денежная единица. Значения, устанавливае- мые данной функцией, зависят от используемой вер- сии системы DOS.

Если параметр cp имеет значение -1, текущий госу- дарственный стандарт устанавливается соответст- венно значению аргумента xcode, который должен быть ненулевым. В остальных случаях структура country, указываемая адресной ссылкой cp, запол- няется информацией зависимой от государственных стандартов текущей страны (если xcode установлен в 0), или страны, определяемой аргументом xcode.

Структура country определена следующим образом:

struct contry { int co_date; /* Формат даты */ char co_curr[5]; /* Символ валюты */ char co_thsep[2]; /* Разделитель тысяч */ char co_desep[2]; /* Десятичный разделитель */ char co_dtsep[2]; /* Разделитель даты */ char co_tmsep[2]; /* Разделитель времени */ char co_currstyle; /* Изображение валюты */ char co_digits; /* Число значащих цифр */ /* в написании валюты */ char co_time; /* Формат времени */ long co_case; /* Выбор регистра */ char co_dasep[2]; /* Разделитель данных */ char co_fill[10]; /* Заполнитель */ };

Формат даты в переменной co_date имеет значение - 0 для стандарта США (месяц, день, год) - 1 для европейского стандарта (день, месяц, год) - 2 для японского стандарта (год, месяц, день).

Режим изображения денежных единиц задается пере- менной co_currstyle следующим образом: 0 Символ валюты предшествует значению без про- белов между символом и числом. 1 Символ валюты следует за значением без пробе- лов между числом валюты и символом. 2 Символ валюты предшествует значению с пробе- лом после символа. 3 Символ валюты следует за числом с одним про- белом перед символом.

Возвращаемое Функция country возвращает в качестве значения значение адресный указатель cp. В случае ошибки возвра- щается NULL.

Переносимость country поддерживается только на DOS версии 3.0 и выше.

Пример:

#include

#include

#define USA 0

int main(void) { struct country country_info; country(USA,&country_info); printf("Символ валюты США : %s\n",country_info.co_curr); return 0; }



Cprintf



     cprintf

Функция Осуществляет форматированный вывод на экран.

Синтаксис #include

int cprintf(const char *format[,argument,...]);

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

Описание cprintf получает набор аргументов, применяет к каждому аргументу спецификацию формата, содержа- щуюся в строке формата с указателем format, и вы- водит отформатированные данные на экран в текущее текстовое окно. Число аргументов и спецификаций должно быть одинаковым. Строка пишется или напрямую в видео-память, или через функции BIOS, в зависимости от значения глобальной переменной directvideo. Описание спецификации формата приведено в функции printf. В отличие от функций fprintf и printf, cprintf не преобразует символы перевода строки (\n) в последовательность перевода каретки/перевода строки (\r\n).

Возвращаемое cprintf возвращает количество выведенных символов. значение

Переносимость cprintf поддерживается только на компьютерах IBM PC или совместимых с ними.

Смотрите также переменная),

Пример:

#include

int main(void) { /* очистить экран */ clrscr(); /* создать текстовое окно */ window(10,10,80,25); /* вывести в него некоторый текст */ cprintf("Привет !!!\r\n"); /* ждать нажатия клавиши */ getch(); return 0; }



Cputs



     cputs

Функция Выводит строку на экран.

Синтаксис #include

int cputs(const char * str);

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

Описание cputs выводит строку str, заканчивающуюся нулем, в текущее текстовое окно. К строке не присоединяет- ся символ новой строки.

Строка выводится напрямую в память экрана при по- мощи вызова BIOS, в зависимости от значения в directvideo.

В отличие от функции puts, cputs не преобразует символы перевода строки (\n) в последовательность перевода каретки/перевода строки (\r\n).

Возвращаемое cputs возвращает последний выведенный символ. значение

Переносимость cputs поддерживается только на компьютерах IBM PC или совместимых с ними.

Смотрите также переменная),

Пример:

#include

int main(void) { /* очистить экран */ clrscr(); /* создать текстовое окно */ window(10,10,80,25); /* вывести в него некоторый текст */ cputs("Вывод в окно \r\n"); /* ждать нажатия клавиши */ getch(); return 0; }



Creat



     creat

Функция Создает новый файл или перезаписывает существующий.

Синтаксис #include

int creat(const char * path, int amode);

Файл, содержащий io.h прототип

Описание Функция creat создает новый файл или подготавлива- ет для перезаписи существующий файл, имя которого находится в аргументе path. amode применяется только для заново создаваемых файлов.

Файл создается в режиме, указываемом в глобальной переменной _fmode (O_TEXT или O_BINARY).

Если файл уже существует и установлен атрибут за- писи, функция creat усекает файл до длины 0 бай- тов, оставляя неизменными атрибуты файлов. Если существующий файл имеет атрибут "только чтение", вызов функции creat потерпит неудачу и файл оста- нется неизменным.

Вызов функции creat проверяет только бит S_IWRITE в слове режима доступа amode. Если данный бит ра- вен 1, файл имеет разрешение на запись. Если бит равен 0, то для файла разрешено только чтение. Все остальные атрибуты DOS устанавливаются равны- ми нулю.

amode может принимать одно из следующих значений (определенных в файле sys\stat.h):

--------------------------------------------------- Значение amode Режим доступа --------------------------------------------------- S_IWRITE разрешение на запись S_IREAD разрешение на чтение S_IREAD|S_IWRITE разрешение на чтение и запись ---------------------------------------------------

Примечание. В DOS разрешение на запись влечет за собой разрешение на чтение.

Возвращаемое При успешном завершении возвращается неотрицатель- значение ное целое число - новый дескриптор файла; иначе возвращается значение -1.

В случае ошибки errno принимает одно из следующих значений:

ENOENT - Маршрут или имя файла не найдены EMFILE - Слишком много открытых файлов EACCES - Отказ доступа

Переносимость creat поддерживается в системах UNIX.

Смотрите также , переменная),

Пример:

#include

#include

#include

#include

int main(void) { int handle; char buf[11] = "0123456789";

/* изменить режим с текстового в двоичный */ _fmode = O_BINARY; /* создать двоичный файл для чтения и записи */ handle = creat("DUMMY.FIL",S_IREAD|S_IWRITE); /* записать в файл 10 байт */ write(handle,buf,strlen(buf)); /* закрыть файл */ close(handle); return 0; }



Creatnew



     creatnew

Функция Создает новый файл.

Синтаксис #include

int creatnew(const char * path, int mode);

Файл, содержащий io.h прототип

Описание creatnew идентична функции _creat, за исключением того, что если файл существует, то creatnew возв- ращает ошибку и не изменяет файл.

Аргумент mode в creatnew может быть одной из сле- дующих констант (определенных в dos.h):

FA_DRONLY Только чтение FA_HIDDEN Скрытый файл FA_SYSTEM Системный файл

Возвращаемое При успешном завершении creatnew возвращает дескрип- значение тор нового файла, неотрицательное число; иначе воз- вращается -1.

В случае ошибки errno принимает одно из следующих значений:

EEXIST - Файл уже существует ENOENT - Маршрут или имя файла не найдены EMFILE - Слишком много открытых файлов EACCES - Отказ доступа

Переносимость creatnew уникальна для DOS 3.0 и не работает на более ранних версиях DOS.

Смотрите также переменная),

Пример:

#include

#include

#include

#include

int main(void) { int handle; char buf[11] = "0123456789";

/* попытка создать несуществующий файл */ handle = creatnew("DUMMY.FIL",0); if(handle == -1) printf("DUMMY.FIL уже существует\n"); else { printf("DUMMY.FIL успешно создан\n"); write(handle,buf,strlen(buf)); close(handle); } return 0; }



Creattem



     creattemp

Функция Создает уникальный файл в директории, указываемой в маршруте.

Синтаксис #include

int creattemp(char * path, int attrib);

Файл, содержащий io.h прототип

Описание Файл создается в режиме, указываемом в глобальной переменной _fmode (O_TEXT или O_BINARY).

path является именем маршрута, заканчивающимся символом (\). Уникальное имя файла выбирается в ди- ректории, указываемой в аргументе path. Имя ново- го созданного файла хранится в строке path. path должен быть достаточной длины для размещения име- ни результирующего файла. Этот файл автоматически не удаляется при завершении программы.

creattemp берет аргумент attrib - слово атрибутов DOS. Файл всегда открывается в двоичном режиме. При успешном создании файла указатель файла уста- навливается на начало этого файла. Файл открыва- ется сразу для чтения и записи.

Аргумент attrib в creattemp может быть одной из следующих констант (определенных в dos.h):

FA_DRONLY Только чтение FA_HIDDEN Скрытый файл FA_SYSTEM Системный файл

Возвращаемое При успешном завершении возвращается дескрип- значение тор нового файла, неотрицательное число; иначе воз- вращается -1.

В случае ошибки errno принимает одно из следующих значений:

ENOENT - Маршрут или имя файла не найдены EMFILE - Слишком много открытых файлов EACCES - Отказ доступа

Переносимость creattemp уникальна для DOS 3.0 и не работает на более ранних версиях DOS.

Смотрите также переменная),

Пример:

#include

#include

#include

int main(void) { int handle; char pathname[128]; strcpy(pathname,"\\"); /* создать уникальный файл в корневом каталоге */ handle = creattemp(pathname,0); printf("Был создан файл %s\n",pathname); close(handle); return 0; }



Cscanf



     cscanf

Функция Выполняет форматированный ввод с консоли.

Синтаксис #include

int cscanf(char * format[,address,...]);

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

Описание cscanf считывает с консоли и просматривает набор вводимых полей по одному символу. Затем каждое поле форматируется в соответствии со спецификаци- ей формата, передаваемой функции cscanf в строке формата format. Наконец, cscanf помещает отформа- тированный ввод по адресам, следующим за аргумен- том format, и отображает введенные символы на эк- ране. Количество спецификаций формата, адресов и вводимых полей должно быть одинаковым. Специфика- ция формата приведена в описании функции scanf. По многим причинам cscanf может прекратить скани- рование определенного поля до его нормального за- вершения (символ пробела), или вообще завершить ввод. Описание этих причин вы найдете в описании функции scanf.

Возвращаемое cscanf возвращает число успешно введенных, значение преобразованных и сохраненных полей; возвращаемое значение не включает просмотренные, но не сохра- ненные поля. Если ни одно поле не было сохранено, то возвращается значение 0.

Если cscanf пытается считать конец файла, то воз- вращается значение EOF.

Переносимость cscanf уникальна для DOS.

Смотрите также

Пример:

#include

int main(void) { char string(80); /* очистить экран */ clrscr(); /* запросить ввод от пользователя */ cprintf("Введите строку:"); /* считать строку */ cscanf("%s",string); /* вывести введенную строку */ cprintf("Вы ввели следующую строку: %s",string); return 0; }



Ctime



     ctime

Функция Преобразовывает дату и время в строку.

Синтаксис #include

char * ctime(const time_t * time);

Файл, содержащий time.h прототип

Описание Функция ctime преобразует время, адресный указа- тель которого находится в аргументе time (это значение возвращается функцией time) в 26-сим- вольную строку следующего вида, заканчивающуюся символами новой строки и нуля:

Mon Nov 21 11:31:54 1983\n\0

Все поля имеют постоянную ширину.

Глобальная переменная timezone (тип long) должна содержать разницу в секундах между временем по Гринвичу (GMT) и местным стандартным временем (по стандарту PST timezone равна 8*60*60). Глобальная переменная daylight имеет ненулевое значение только, если применяется стандартное преобразова- ние летнего времени для USA.

Возвращаемое Функция ctime возвращает указатель на символьную значение строку, содержащую дату и время. Данная строка является статической переменной, которая переза- писывается при каждом вызове функции ctime.

Переносимость ctime поддерживается на системах UNIX и определена в ANSI C.

Смотрите также переменная),

переменная),

Пример:

#include

#include

int main(void) { time_t t; t = time(NULL); printf("Сейчас: %s\n",ctime(&t)); return 0; }



Ctrlbrk



     ctrlbrk

Функция Устанавливает программу обработки Ctrl-Break.

Синтаксис #include

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

Файл, содержащий dos.h прототип

Описание Функция ctrlbrk устанавливает новую функцию обра- ботки прерываний, адресный указатель которой на- ходится в переменной handler. Вектор прерывания 0x23 модифицируется для вызова названной функции.

Названная функция не может вызываться непосредст- венно. Функция ctrlbrk вызывает программу обра- ботки прерываний системы DOS, которая, в свою очередь, вызывает названную функцию.

Функция обработки прерываний может выполнять лю- бое количество операций и системных вызовов. Дан- ная функция не должна возвращаться непосредствен- но в программу; программа обработки прерывания возвращает 0 для завершения текущей программы, в противном случае программа продолжает свою рабо- ту.

Возвращаемое Функция ctrlbrk не возвращает никакого значения. значение

Переносимость Функция уникальна для системы DOS.

Смотрите также

Пример:

#include

#include

#define ABORT 0 int c_break(void) { print("Нажато Control-Break. Выполнение программы завершается.\n"); return(ABORT); }

main() { ctrlbrk(c_break); for (;;) { printf("Цикл ...\n"); } }

Вывод:

Цикл ... Цикл ... Цикл ... ^C Нажато Control-Break. Выполнение программы завершается.

delay

Функция Замораживает выполнение программы на интервал в микросекундах.

Синтаксис #include

void delay (unsigned milliseconds);

Файл, содержащий dos.h прототип

Описание При вызове функции delay выполнение программы приостанавливается на время, определяемое парамет- ром milliseconds. Теперь отпала необходимость в калибровочном вызове delay. delay отсчитывает ин- тервал в миллисекундах.

Возвращаемое Нет. значение

Переносимость Эта функция работает только на компьютерах совмес- тимых с IBM PC.

Смотрите также

Пример:

/* выдает звук с частотой 440 Гц в течение 500 миллисекунд */

#include

int main(void) { sound(440); delay(500); nosound(); return 0; }