- •Void abort();
- •Int errno;
- •26 Символов и имеет форму, приведенную ниже в примере:
- •Int errno;
- •Void assert(expression);
- •Int n; целый порядок
- •Int (*compare)(); указатель на функцию сравнения
- •0 Element1 равен element2
- •Int compare();
- •Int argc;
- •Int numread;
- •Int chdir(pathname);
- •Void clearerr(stream);
- •Int cprintf(format-string[,argument...]);
- •Int result;
- •Int mark[10000];
- •If(!mark[n]) {
- •Int dosexterr(buffer);
- •Int exterror;
- •Int fh, count;
- •Int result;
Int numread;
.
.
.
*buffer=80; / *максимальное количество символов */
/* Внимание. *buffer эквивалентно *buffer[0] */
/* следующие операторы вводят строку с клавиатуры и находят
ее длину: */
result=cgets(buffer);
numread=buffer[1];
/* result указывает на строку, numread - на ее длину ("ВК"
не считается, т.к. заменяется нулевым символом */.
CHDIR
#include <direct.h> требуется только для объявления
функции
Int chdir(pathname);
char *pathname; path-имя нового рабочего дирек-
тория
Описание.
Функция chdir изменяет текущий рабочий директорий на дирек-
торий, определяемый по pathname; pathname должен ссылаться на су-
ществующий директорий.
Возвращаемое значение.
Функция chdir возвращает значение 0, если рабочий директо-
рий успешно изменен. Возвращаемое значение -1 указывает на ошиб-
ку; в этом случае errno устанавливается в ENOENT, указывая, что
заданное path-имя не может быть найдено. Ошибки не возникают, ес-
ли pathname определяет текущий рабочий директорий.
См.также mkdir, rmdir, system.
Пример:
#include <direct.h>
/* следующий оператор изменяет текущий рабочий
** директорий на директорий корня */
chdir("/"); /* Замечание: эквивалентно chdir("\\") */
CHMOD
#include <sys\types.h>
#include <sys\stat.h>
#include <io.h> требуется только для объявления
функции
int chmod(pathname,pmode);
char *pathname; path-имя существующего файла
int pmode; разрешенный доступ для файла
Описание.
Функция chmod изменяет разрешенный доступ для файла, задан-
ного path-именем. Разрешенный доступ управляет чтением и записью
файла. Константное выражение pmode состоит из одной или обеих ма-
нифестных констант S_IWRITE и S_IREAD, определенных в <sys\stat.h>.
Любое другое значение для pmode игнорируется. Когда заданы обе
константы, они объединяются логическим оператором ИЛИ (:). Значе-
ния аргументов pmode представлены ниже.
ЗНАЧЕНИЕ СМЫСЛ ЗНАЧЕНИЯ
S_IWRITE разрешена запись
S_IREAD разрешено чтение
S_IREAD : S_IWRITE разрешены чтение и запись
Если разрешение на запись не задано, файл доступен только
для чтения. В MS DOS все файлы доступны для чтения, поэтому не-
возможно задание разрешения только на запись. Поэтому режимы
S_IWRITE и S_IREAD : S_IWRITE являются эквивалентными.
Возвращаемое значение.
Функция chmod возвращает значение 0, если разрешенный дос-
туп успешно изменен. Возвращаемое значение -1 свидетельствует об
ошибке; в этом случае errno устанавливается в ENOENT, указывая,
что определенный файл не может быть найден.
См.также access, creat, fstat, open, stat.
Пример:
#include <sys\types.h>
#include <sys.stat.h>
#include <io.h>
int result;
.
.
.
result=chmode("data",S_IREAD);
/* создать файл только для чтения */
if (result==-1)
perror("can't change file mode");
CHSIZE
#include <io.h> требуется только для объявления
функции
int chsize(handle,size);
int handle; handle-р, ссылающийся на открытый
файл
long size; новая длина файла в байтах
Описание.
Функция chsize увеличивает или уменьшает файл, связанный с
handle-ром, до размера, определяемого аргументом size. Файл дол-
жен быть открыт в режиме, который разрешает запись. Если файл
увеличивается, к нему добавляются нулевые символы '\0'. Если файл
уменьшается, все данные от конца укороченного файла до первона-
чальной длины файла теряются.
Возвращаемое значение.
Функция chsize возвращает значение 0, если файл успешно из-
менен. Возвращаемое значение -1 свидетельствует об ошибке и
errno устанавливается в одно из следующих значений:
ЗНАЧЕНИЕ СМЫСЛ ЗНАЧЕНИЯ
EACCES Заданный файл определен только для
чтения. Для версий MS DOS 3.0 и старших,
EACCES свидетельствует о принудительной
блокировке.(Определенный файл заблоки-
рован для доступа)
EBADF Неверный файловый handle
ENOSPC На устройстве не осталось свободного
места
См.также close, creat, open.
Пример:
#include <io.h>
#include <fcntl.h>
#include <sys\types.h>
#include <sys\stat.h>
#define MAXSIZE 32768L
int fh, result;
.
.
.
fh=open("data", O_RDWR|O_CREAT, S_IREAD|S_IWRITE);
.
.
.
/* перед закрытием файла нужно убедиться, что он
** не длиннее 32К
*/
if (lseek(fh,LO,2)>MAXSIZE)
result=chsize(fh,MAXSIZE);
_CLEAR87
#include <float.h>
unsigned int _clear87(); получает и очищает слово
статуса плавающей точки
Описание.
Функция _clear87 получает и стирает слово статуса плавающей
точки. Слово статуса плавающей точки является комбинацией слова
статуса 8087/80287 и других состояний, обнаруживаемых 8087/80287
handler-ом, таких как переполнение и потеря значимости стека пла-
вающей точки.
Возвращаемое значение.
Биты в возвращаемом значении обозначают статус плавающей
точки. Смотрите include-файл <float.h> для полного описания би-
тов, возвращаемых функцией _clear87.
Замечание. Большинство из математических библиотечных функ-
ций модифицирует слово статуса 8087/80287 с непредсказуемым ре-
зультатом. Возвращаемые значения функций _clear87 и _status87
становятся более достоверными после выполнения нескольких опера-
ций с плавающей точкой с известными состояниями слова статуса
плавающей точки.
См.также _control87, _status87.
Пример:
#include <stdio.h>
#include<float.h>
double a = 1e-40,b;
float x,y;
main()
{
printf("status=%.4x - clear\n",_clear87());
y = a;
/* запомненное в y является неточным и с потерянной значи-
мостью */
printf("status=%.4xx - inexact, underflow\n",
_clear87());
b = y; /* y является неправильным */
printf("status=%.4x - denormal\n", _clear87());
}
CLEARERR
#include <stdio.h>