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

         

Tan



     tan

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

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

double tan(double x); complex tan(complex x);

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

Описание tan вычисляет тангенс. Углы определяются в радиа- нах.

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

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

tan(z)=sin(z)/cos(z)

Возвращаемое Функция tan возвращает тангенс x, sin(x)/cos(x).

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

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

Пример:

#include

#include

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



Tanh



     tanh



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

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

double tanh(double x); complex tanh(complex x);

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

Описание tanh вычисляет гиперболический тангенс sinh(x)/cos(h).

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

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

tanh(z)=sibh(z)/cosh(z)

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

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

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

Пример:

#include

#include

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



Tell



     tell

Функция Получает текущую позицию указателя файла.

Синтаксис #include

long tell(int handle);

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

Описание tell получает текущую позицию указателя фай- ла, связанного с handle и выражает его ввиде чис- ла байт от начала файла.

Возвращаемое tell возвращает текущую позицию указателя значение файла. Возвращение -1(long) сообщает об ошибке и errno устанавливается в

EBADR - Ошибочный номер файла.

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

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

Пример:

#include

#include

#include

#include

int main(void) { int handle; char msg[] = "Hello world"; if((handle = open("TEST.$$$",O_CREAT|O_TEXT|O_APPEND)) == -1) { perror("Ошибка:"); exit(1); } write(handle,msg,strlen(msg)); printf("Указатель файла находится на %ld байте\n",tell(handle)); close(handle); return 0; }



Textattr



     textattr

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

Синтаксис #include

void textattr(int newattr);

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

Описание textattr позволяет устанавливать цвет фона и цвет символов одновременно за один вызов. (Обычно вы устанавливаете аттрибуты с помощью textcolor и textbackground).

Эта функция не относится к символам, находящимся в текущий момент на экране; она относится только к тому, что отображается функциями (такими как cprintf) выполняющими вывод в текстовом режиме, после того, как была вызвана функция textattr.

Информация цвета кодируется в параметре newattr следующим образом:

7 6 5 4 | 3 2 1 0 ----------------------------------------- | B | b | b | b | f | f | f | f | ----------------------------------------- |

В этом 8-битном параметре newaddr ffff - 4-битный цвет символов (1 - 15) bbb - 3-битный цвет фона (1 - 7) B - бит мигания

Если бит мигания включен, то символ будет мигать. Это можно осуществить путем добавления константы BLINK в аттрибут. Если вы используете символьные цветовые константы, определенные в conio.h для создания текстовых аттрибутов с помощью textattr, запомните следующие ограничения на цвет фона: 1) Вы можете выбрать только первые 8 цветов для фона;

2) Вы должны сдвинуть выбранный цвет фона вле- во на 4 бита для перемещения его в правильную битовую позицию.

Символьные константы в таблице: --------------------------------------------------- Константа Числ.знач. Для символов или фона? --------------------------------------------------- BLACK 0 оба BLUE 1 оба GREEN 2 оба CYAN 3 оба RED 4 оба MAGENTA 5 оба BROWN 6 оба LIGHTGRAY 7 оба DARKGRAY 8 для символов LIGHTBLUE 9 для символов LIGHTGREEN 10 для символов LIGHTCYAN 11 для символов LIGHTRED 12 для символов LIGHTMAGENTA 13 для символов YELLOW 14 для символов WHITE 15 для символов BLINK 128 для символов ---------------------------------------------------

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

Переносимость textattr работает только на IBM PC и совмес- тимых системах.

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

Пример:

#include

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



Textback



     textbackground

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

Синтаксис #include

void textbackground(int newcolor);

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

Описание textbackground выбирает цвет фона в тексто- вом режиме. Эта функция работает только для функций, осуществляющим примой вывод на экран в текстовом режиме. newcolor определяет новый цвет фона. Вы можете определить его как целое (от 0 до 7) или как одну из символических констант, определенных в файле conio.h. При использовании символьных констант необходио включить файл conio.h.

Эта функция не относится к символам, находящимся в текущий момент на экране; она относится только к тому, что отображается функциями (такими как cprintf) выполняющими текстовый режим, осуществляя видео вывод после того, как функция вызвана.

Символьные константы в таблице: ---------------------------------- Константа Числ.знач. ---------------------------------- BLACK 0 BLUE 1 GREEN 2 CYAN 3 RED 4 MAGENTA 5 BROWN 6 LIGHTGRAY 7 -----------------------------------

Переносимость textbackground работает только с IBM PC и сов- местимыми. Соответствующая функция существует в Turbo Pascal.

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

Пример:

#include

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



Textcolo



     textcolor

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

Синтаксис #include

void textcolor(int newcolor);

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

Описание textcolor выбирает цвет символа. Эта функция ока- зывает влияние на функции, производящие прямой вывод на экран в текстовом режиме. Вы можете выбрать цвет, используя символьную константу, определенную в conio.h. Если вы используете эту константу, вы должны включить файл conio.h.

Эта функция не относится к символам, находящимся в текущий момент на экране; она относится только к тому, что отображается функциями (такими как cprintf) выполняющими текстовый режим, осуществляя видео вывод после того, как textcolor вызвана.

Следующая таблица отображает возможные цвета (как символьные константы ) и их числовые значения. ---------------------------------- Константа Числ.знач. ---------------------------------- BLACK 0 BLUE 1 GREEN 2 CYAN 3 RED 4 MAGENTA 5 BROWN 6 LIGHTGRAY 7 DARKGRAY 8 LIGHTBLUE 9 LIGHTGREEN 10 LIGHTCYAN 11 LIGHTRED 12 LIGHTMAGENTA 13 YELLOW 14 WHITE 15 BLINK 128 -------------------------------------

Вы можете сделать символы мигающими, добавляя BLINK к цвету символов. Встроенная константа BLINK предназначена для этой цели. Например:

textcolor(CYAN+BLINK);

Замечание. Некоторые мониторы не узнают интенсивность сигнала, используемую для создания восьми "light"(светлый) цветов (8-15). В таких мониторах светлые цвета будут изображаться как их " темные" эквиваленты (0-7). Анологично, системы, которые не отображают цвет используют эти номера как оттенки одного цвета, особые образцы или особые атрибуты.(такие как подчеркивание, полужирный шрифт, курсив и т.п. ). То, что вы увидите при этом на экране, зависит от оборудования.

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

Переносимость textcolor работает только с IBM PC и сов- местимых. Соответствующая функция существует в Turbo Pascal.

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

Пример:

#include

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



Textheig



     textheight

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

Синтаксис #include

int far textheight(char far *textstring);

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

Описание Графическая функция textheight, берет теку- щий размер шрифта и фактор увеличения и определяет высоту textstring в пикселе. Эта функция используется для установления расстояний между строками, вычисления высоты окна, определения размера заголовка для того, чтобы он помещался в диаграмму или блок-схему, и т.д. Например, используя шрифт, матрица которого 8 х 8 бит, и фактор увеличения равный 1 ( установленные с помощью settextstyle), строка Turbo C++ будет высотой в 8 пикселов. Лучше использовать textheight для вычисления высоты строк, чем это делать вручную. При использовании этой функции нет необходимости выполнять модификацию кода источника при выборе различных шрифтов.

Возвращаемое textheight возврашает высоту текста в пик- значение селях.

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

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

Пример:

#include

#include

#include

#include

#include

int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; int y=0,i; char msg[80];

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

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



Textmode



     textmode

Функция Переводит экран в текстовый режим.

Синтаксис #include

void textmode(int newmode)

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

Описание textmode выбирает указанный текстовый режим. Вы можете задать текстовый режим (аргумент newmode), используя символьную константу перечисляемого типа text_modes (определенную в conio.h). Если вы используете эту константу, вы должны включить conio.h.

Константы типа text_modes, их числовые значения и режимы, корорые они определяют задаются в следующей таблице: __________________________________________________ Символьная Числовое Текстовый константа значение режим ___________________________________________________ LASTMODE -1 предыдущий текстовый режим BW40 0 черный и белый, 40 колонок C40 1 цветной, 40 колонок BW80 2 черный и белый, 80 колонок C80 3 цветной, 80 колонок MONO 7 монохромный, 80 ко- лонок C4350 64 EGA 43 строки и ___________________________________________________

Когда вызывается textmode, текущее окно переустанавливается в полный экран и текущие текстовые атрибуты переустанавливаются в нормальные, соответствующие вызову normvideo.

Определeние LASTMODE для textmode вызывает повторный выбор последнего текстового режима. textmode следует использовать только тогда, когда вы работаете в текстовом режиме (вероятно для перевода в другой текстовый режим). Только в этом контексте следует использовать textmode. Когда экран в графическом режиме, вам следует использовать restorecrtmode вместо временного выхода в текстовый режим.

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

Переносимость textcolor работает только с IBM PC и сов- местимых. Соответствующая функция существует в Turbo Pascal.

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

Пример:

#include

int main(void) { textmode(BW40); cprintf("ABC"); getch(); textmode(C40); cprintf("ABC"); getch(); textmode(BW80); cprintf("ABC"); getch(); textmode(C40); cprintf("ABC"); getch(); textmode(MONO); cprintf("ABC"); getch(); return 0; }



Textwidt



     textwidth

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

Синтаксис #include

int far textwidth(char far *textstring);

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

Описание Графическая функция textwidth берет длину строки, текущий размер шрифта и фактор увеличения и определяет ширину textstring в пикселях.

Эта функция используется для, вычисления ширины окна, определения размера заголовка для того, чтобы он помещался в диаграмму или блок-схему, и т.д.

Лучше использовать textwidht для вычисления ширины строк, чем это делать вручную. При использовании этой функции нет необходимости выполнять модификацию кода при выборе различных шрифтов.

Возвращаемое textwidth возвращает ширину строки текста значение в пикселях.

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

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

Пример:

#include

#include

#include

#include

#include

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

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

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



Time



     time

Функция Получает текущее время дня.

Синтаксис #include

time_t time (time_t *timer);

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

Описание Функция time выдает текущее время в секундах, прошедшее с времени 00:00:00 GMT, 1 января, 1970, по Гринвичу и сохраняет это значение по адресу, на который указывает timer, при условии что timer есть ненулевой указатель.

Возвращаемое Функция time возвращает время в секундах, как опи- значение сано выше.

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

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

Пример:

#include

#include

#include

int main(void) { tome_t t; t = time(NULL); printf("С 1 января 1970 г. прошло %ld секунд\n",t); return 0; }



Timezone



     timezone

Функция Содержит разницу в секундах между местным временем и GMT (среднее время по Гринвичу).

Синтаксис extern long timezone;

Объявлено в time.h

Описание timezone используется функциями времени и даты. Эта переменная вычисляется при помощи функции tzset; ей присваивается значение типа long, кото- рое является разницей (в секундах) между текущим местным временем и средним временем по Гринвичу.



Tmpfile



     tmpfile

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

Синтаксис #include

FILE *tmpfile(void);

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

Описание tmpfile создает временный двоичный файл и откры- вает его для модификации (w+b). Файл автоматически уничтожается, при его закрытии или завершении программы.

Возвращаемое tmpfile возвращает указатель на поток временно со- значение зданного файла. Если файл не может быть создан, tempfile возвращает null.

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

Пример:

#include

#include

int main(void) { FILE *tempfp; tempfp = tmpfile(); if(tempfp) printf("Создан временный файл\n"); else { printf("Не могу создать временный файл\n"); exit(1); } return 0; }



Tmpnam



     tmpnam

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

Синтаксис #include

char *tmpnam(char *s);

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

Описание tmpnam создает уникальное имя файла, которое может быть успешно использовано как имя временного файла. tmpnam генерирует различные строки каждый раз, когда вы ее вызываете, до TMP_MAX раз. TMP_MAX определяется в stdio.h как 65535. Параметр s для tmpnam либо 0, либо указатель на массив, состоящий по крайней мере из L_tmpnam символов. L_tmpnam определено в stdio.h. Если s ноль, tmpnam оставляет имя сгенерированного временного файла во внутреннем статическом объекте и возвращает указатель на этот объект. Если s не ноль, tmpnam помещает свой результат в указанный массив, который должен быть длиной по крайней мере L_tmpnam символов, и возвращает s.

Замечание. Если вы создаете такой временный файл с помощью tmpnam, то вы сами отвечаете за уничтожение имени файла (например, с помощью вызова remove). Он не уничтожается автоматически.

Возвращаемое Если s ноль, то tmpnam возвращает указатель на значение внутренний статический объект. В противном слу- чае tmpnam возвращает s.

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

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

Пример:

#include

int main(void) { char name[13]; tmpnam(name); printf("Имя временного файла: %s\n",name); return 0; }



Toascii



     toascii

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

Синтаксис #include

int toascii(int c);

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

Описание toascii - это макрокоманда, которая конвертирует целое c в код ASCII, очищая все кроме младших семи битов; при этом получаемые значения находятся в пределах от 0 до 127.

Возвращаемое toascii возвращает конвертированное значение c. значение

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

Пример:

#include

#include

int main(void) { int number,result; number = 511; result = toascii(number); printf("%d %d\n",numder,result); return 0; }



Tolower



     tolower

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

Синтаксис #include

int tolower(int ch);

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

Описание tolower - это функция, которая переводит целое ch (в пределах EOF до 255) в его значение для нижне- го регистра (a-z) (если были символы верхнего ре- гистра (A-Z)); Все другие остаются без изменения.

Возвращаемое tolower возвращает преобразованное значение ch, значение если это символ верхнего регистра; Все другие возвращаются без изменений.

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

Пример:

#include

#include

#include

int main(void) { int length,i; char *string = "THIS IS A STRING."; length = strlen(string); for(i=0;i



Toupper



     toupper

Функция Транслирует символы в верхний регистр.

Синтаксис #include

int toupper(int ch);

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

Описание toupper - функция, преобразующая целое ch (в пределах от EOF до 255) в значение верхнего ре- гистра (A-Z) (если до этого был нижний ре- гистр(a-z)), остальные остаются без изменений.

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

Пример:

#include

#include

#include

int main(void) { int length,i; char *string = "this is a string."; length = strlen(string); for(i=0;i



Tzname



     tzname

Функция Массив указателей на имена временных зон.

Синтаксис extern char * tzname[2];

Объявлено в time.h

Описание Глобальная переменная tzname является массивом указателей на строки, содержащие аббревиатуры для имен временных зон. tzname[0] указывает на строку из трех символов со значением имени временной зо- ны из строки окружения TZ. Глобальная переменная tzname[1] указывает на строку из трех символов со значением летнего времени для имени временной зо- ны из строки окружения TZ. Если это имя отсутст- вует, то tzname[1] указывает на нулевую строку.



Tzset



     tzset

Функция Устанавливает значения глобальных переменных daylight, timezone, tzname.

Синтаксис #include

void tzset(void);

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

Описание tzset устанавливает глобальные переменные daylight, timezone, tzname, основаваясь на пере- менной окружения TZ. Функции библтотеки ftime и localtime используют эти глобальные переменные для корректировки среднего времени по гринвичес- кому мередиану (GMT) с локальным временем зоны. Формат строки TZ следующий: TZ = zzz[+/-][d][lll] трехсимвольная строка представляющая имя текущей временной зоны. Все три символа необходимы. Нап- ример, строка "PST" может быть использована для обозначения тихоокеанского поясного времени. [+/-]d[d] - это поле содержащее число из одной или более цифр со знаком. Это число показывает разницу в часах между GMT и локальным временным поясом. Положительные числа соответствуют поясам к западу от GMT, отрицательные к востоку от GMT. Например, 5= EST, +8 = PST и -1 = континентальная Европа. Это число используется при вычислении глобальной переменной timezone. timezone - это разница в секундах между GMT и локальным време- нем.

lll - это необязательное трехсимвольное поле для обозначения временных зон, использующих летнее время. Например, PDT - представляет тихоакеанское поясное летнее время. Если это поле присутствует, то глобальная переменная daylight принимает нену- левое значение. Если же это поле отсутствует, daylight будет установлено в 0.

Если строка TZ не присутствует или не совпадает с выше описанной формой, то используется по умолча- нию TZ = "EST5EDT" для присвоения значений гло- бальным переменнным daylight, timezone, tzname.

Глобальная переменная tzname[0] указывает на трехсимвольную строку, содержащую значение имени временной зоны из строки TZ.

Глобальная переменная tzname[1] указывает на трехсимвольную строку, содержащую имя временной зоны летнего времени из строки TZ. Если имя лет- него времени нет tzname1 указывает на нулевую строку.

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

Переносимость tzset доступна в системах UNIX и XENIX.

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

Пример:

#include

#include

#include

int main(void) { time_t td; putenv("TZ=PST8PDT") tzset(); time(&td); printf("Текущее время = %s\n",asctime(localtime(&td))); return 0; }