- •Содержание
- •Библиотеки
- •Подпрограммы классификации
- •Подпрограммы преобразования
- •Подпрограммы управления каталогом
- •Подпрограммы диагностики
- •Подпрограммы поддержки графики
- •Подпрограммы ввода/вывода
- •Интерфейсные подпрограммы (dos, 8086, bios)
- •Подпрограммы манипулирования (строками, памятью)
- •Математические подпрограммы
- •Подпрограммы распределения памяти
- •Прочие подпрограммы
- •Подпрограммы управления процессами
- •Cтандартные подпрограммы
- •Подпрограммы отображения текста в окнах
- •Подпрограммы работы со временем и датой
- •Подпрограммы с переменным списком аргументов
- •Environ
- •Errno, _doserrno, sys_errlist, sys_nerr
- •_Heaplen
- •_Osmajor, _osminor
- •_Stklen
- •Timezone
- •_Version
- •Absread
- •Abswrite
- •Allocmem
- •Asctime
- •Bdosptr
- •Bioscom
- •Biosdisk
- •Biosequip
- •Bioskey
- •Biosmemory
- •Biosprint
- •Biostime
- •Bsearch
- •_Clear87
- •Cleardevice
- •Clearerr
- •Closegraph
- •_Control87
- •Coreleft
- •Country
- •Сprintf
- •Creatnew
- •Creattemp
- •Ctrlbrk
- •Delline
- •Detectgraph
- •Difftime
- •Disable
- •Dosexterr
- •Dostounix
- •Drawpoly
- •Ellipse
- •Exec...
- •Farcalloc
- •Farcoreleft
- •Farfree
- •Farmalloc
- •Farrealloc
- •Fcloseall
- •Fgetchar
- •Fgetpos
- •Filelength
- •Fillellipse
- •Fillpoly
- •Findfirst
- •Findnext
- •Floodfill
- •Flushall
- •Fnmerge
- •Fnsplit
- •_Fpreset
- •Fprintf
- •Fputchar
- •Freemem
- •Freopen
- •Fsetpos
- •Geninterrupt
- •Getarccoords
- •Getaspectratio
- •Getbkcolor
- •Getcbrk
- •Getchar
- •Getcolor
- •Getcurdir
- •Getdate
- •Getdefaultpalette
- •Getdfree
- •Getdisk
- •Getdrivername
- •Getfatd
- •Getfillpattern
- •Getfillsettings
- •Getftime
- •Getgraphmode
- •Getimage
- •Getlinesettings
- •Getmaxcolor
- •Getmaxmode
- •Getmaxx
- •Getmaxy
- •Getmodename
- •Getmoderange
- •Getpallete
- •Getpalettesize
- •Getpass
- •Getpixel
- •Gettext
- •Gettextinfo
- •Gettextsettings
- •Gettime
- •Getvect
- •Getverify
- •Getviewsettings
- •Graphdefaults
- •Grapherrormsg
- •_Graphfreemem
- •_Graphgetmem
- •Graphresult
- •Harderr
- •Hardresume
- •Hardretn
- •Highvideo
- •Imagesize
- •Initgraph
- •Inportb
- •Insline
- •Installuserdriver
- •Installuserfont
- •Intdosx
- •Isalnum
- •Isalpha
- •Isascii
- •Iscntrl
- •Isdigit
- •Isgraph
- •Islower
- •Isprint
- •Ispunch
- •Isspace
- •Isupper
- •Isxdigit
- •Linerel
- •Loсaltime
- •Longjmp
- •Lowvideo
- •Lsearch
- •_Matherr
- •Matherr
- •Memccpy
- •Memicmp
- •Memmove
- •Movedata
- •Moverel
- •Movetext
- •Normvideo
- •Nosound
- •Outport
- •Outportb
- •Outtext
- •Outtextxy
- •Parsfnm
- •Pieslice
- •Putchar
- •Putimage
- •Putpixel
- •Puttext
- •Randbrd
- •Randbwr
- •Randomize
- •Realloc
- •Rectangle
- •Registerbgidriver
- •Registerbgifont
- •Restorecrtmode
- •Searchpath
- •Segread
- •Setactivepage
- •Setallpalette
- •Setaspectratio
- •Setbkcolor
- •Setblock
- •Setcbrk
- •Setcolor
- •Setdate
- •Setdisk
- •Setfillpattern
- •Setfillstyle
- •Setftime
- •Setgraphbufsize
- •Setgraphmode
- •Setlinestyle
- •Setmode
- •Setpalette
- •Setrgbpalette
- •Settextjustify
- •Settextstyle
- •Settime
- •Setusercharsize
- •Setvbuf
- •Setvect
- •Setverify
- •Setviewport
- •Setvisualpage
- •Setwritemode
- •Spawn...
- •Sprintf
- •_Status87
- •Strcmpi
- •Strcspn
- •_Strerror
- •Strerror
- •Stricmp
- •Strncat
- •Strncmp
- •Strncmpi
- •Strncpy
- •Strnicmp
- •Strnset
- •Strpbrk
- •Strrchr
- •Strtoul
- •Textattr
- •Textbackground
- •Textcolor
- •Textheight
- •Textmode
- •Textwidht
- •Tmpfile
- •Toascii
- •_Tolower
- •Tolower
- •_Toupper
- •Toupper
- •Ungetch
- •Unixtodos
- •Vfprintf
- •Vfscanf
- •Vprintf
- •Vsprintf
- •Vsscanf
Freemem
-----------------------------------------------------------------
НазначениеОсвобождает предварительно размещенный блок
памяти DOS.
Синтаксис int freemem(unsigned seg)
Прототип в dos.h
Замечанияfreemem освобождает блок памяти, выделенный вы-
зовом allocmem. seg - адрес сегмента этого бло-
ка.
Возвращаемоеfreemen при успешном выполнении возвращает 0.
значениеПри ошибке возвращается -1 и errno устанавлива-
ется в значение:
ENOMEM Недостаточно памяти.
ПереносимостьУникальна для МS-DOS.
Смотри также allocmem, free
-----------------------------------------------------------------
Freopen
-----------------------------------------------------------------
НазначениеЗаменяет поток.
Синтаксис#include<stdio.h>
FILE *freopen(const char *filename,
const char *type, FILE *stream);
Прототип в stdio.h
Замечанияfreopen заменяет открытый поток stream имено-
ванным файлом. Исходный stream закрывается не
зависимо от того, успешно ли состоялось откры-
тие замененного файла или нет. freopen полезна
для замены файла, stdin, stdout или stderr.
Тип строки type, используемый при вызове
freeopen, может принимать одно из следующих
значений:
r Открыть только для чтения
w Создать для записи
a Добавление; открыть для записи в ко-
нец файла или создать для записи,
если файл не существует
r+ Открыть существующий файл для изме-
нения (запись и чтение)
w+ Создать новый файл для изменения
a+ Открыть для добавления; открыть (или
создать, если файл не существует)
для добавления в конец файла.
Для задания того, что файл открыт или создан в
текстовом режиме, вы можете добавить t к значе-
нию type (rt, w+t, и т.д.); аналогично для за-
дания двоичного режима вы должны добавить b к
значению type (wb, a+b, и т.д.).
Если t или b в type не заданы - режим определя-
ется значением глобальной переменной _fmode.
Если _fmode установлена в O_BINARY, то файлы
будут открыты в двоичном режиме. Если _fmode
установлена в O_TEXT - файлы будут открыты в
текстовом режиме. Эти константы определены в
файле fcntl.h.
Когда файл открыт для изменения, в результирую-
щий поток может быть произведен как ввод, так и
вывод. Однако вывод не может сразу следовать за
вводом без запроса fseek или rewind, как и ввод
не может сразу следовать за выводом без запроса
fseek или rewind, или ввода, который встречает
конец файла.
ВозвращаемоеПри успешном завершении freeopen возвращает
значениеаргумент stream. В случае ошибки - возвращает
NULL.
Переносимостьfreeopen доступна в системах UNIX и совместима
с ANSI Си.
Смотри также fclose, fdopen, fopen, open, setmode
Пример Смотри fopen
-----------------------------------------------------------------
frexp
-----------------------------------------------------------------
НазначениеРасщепляет число типа double на мантиссу и по-
казатель.
Синтаксис#include<math.h>
double frexp(double x,int *exponent);
Прототип вmath.h
Замечанияfrexp - вычисляет мантиссу m (число типа
double, большее или равное 0.5 и меньшее 1) и
целое число n такое, что x = m * 2**n. frexp
размещает n по адресу exponent.
Возвращаемоеfrexp возвращает мантиссу m.
значение
Переносимостьfrexp доступна в системах UNIX и совместима с
ANSI Си.
Смотри такжеexp, ldexp
-----------------------------------------------------------------
fscanf
-----------------------------------------------------------------
НазначениеВыполняет форматированный ввод из потока.
Синтаксис #include<stdio.h>
int fscanf(FILE *stream, const char *format,
[,adr ,...]);
Прототип вstdio.h
Замечанияfscanf сканирует символы с консоли. Затем пре-
образует считанные символы в соответствии с
форматом, заданным в строке формата, определяе-
мой указателем format. Затем преобразованные
данные размещаются по адресу (адресам), пере-
данным в качестве параметров функции fscanf, и,
наконец, выводит вводимые символы на консоль.
Число задаваемых в строке форматов должно сов-
падать с количеством адресов, переданных функ-
ции.
Описание используемых форматов приведены в опи-
сании функции scanf.
fscanf может прекратить сканирование символов
до того как достигнет конца файла при обнаруже-
ние белого поля (пробел, табуляция и т. п.) или
вообще завершиться по целому ряду причин. Смот-
ри описание функции scanf для более детального
ознакомления.
Возвращаемоеfscanf возвращает количество отсканированных
значениесимволов, успешно преобразованных и размещенных
по соответствующим адресам.
При достижении конца файла fscanf вернет EOF.
Если ни одного значения не было размещено
fscanf вернет 0 .
Переносимостьfcanf доступна в UNIX системах, она определена
Керниганом и Ричи. Данная функция совместима с
ANSI Си.
Смотри такжеatof, cscanf, fprintf, printf, scanf, sscanf,
vscanf, vsscanf
-----------------------------------------------------------------
fseek
-----------------------------------------------------------------
НазначениеПеремещает указатель файла.
Синтаксис #include<stdio.h>
int fseek(FILE *stream,long int offset,
int fromwhere);
Прототип в stdio.h
Oписание fseek устанавливает указатель файла, связанного
со stream, на новую позицию, которая отстоит от
места в файле, заданного в fromwhere, на коли-
чество байт, указанных в offset.
fromwhere должно быть одной из величин: 0, 1
или 2, которые представляют три символьные
константы (определены в stdio.h):
fromwhere Размещение в файле
--------- ------------------
SEEK_SET (0) начало файла
SEEK_CUR (1) текущее положение указателя
файла
SEEK_END (2) конец файла
fseek теряет любой символ, возвращенный в файл
с использованием ungetc.
После fseek следующая операция по обмену с фай-
лом может быть как вводом, так и выводом.
Возвращаемоеfseek возвращает 0, если указатель успешно пе-
значениеремещен, и ненулевое значение при ошибке.
Переносимостьfseek доступна в системах UNIX и cовместима с
ANSI Си.
Смотри такжеfgetpos, fopen, fsetpos, ftell, lseek, rewind,
setbuf, tell
Пример
#include<stdio.h>
/* возвращает число байтов в потоке */
long filesize(FILE *stream)
{
long curpos,length;
curpos = ftell(stream);
fseek(stream,OL,SEEK_END);
length = ftell(stream);
fseek(stream,curpos,SEEK_SET);
return(length);
}
main()
{
FILE *stream;
stream = fopen("MYFILE.TXT", "r");
printf("размер файла MYFILE.TXT - %ld"
" байт\n"), filesize(stream);
}
Результат выполнения программы
размер файла MYFILE.TXT - 15 байт
-----------------------------------------------------------------