Справочник по функциям С++. Подпрограммы классификации Подпрограммы преобразования
Скачать 3.41 Mb.
|
floodfill----------------------------------------------------------------- Назначение Заполняет методом "лавины" ограниченную область Синтаксис #include void far floodfill(int x, int y, int border); Прототип в graphics.h Замечания floodfill заполняет ограниченную область растрового устройства. (x,y) задают "централь- ную точку" области заполнения. Область, ограни- ченная цветом border, заполняется текущими ти- пом и цветом наполнения. Если "центральная точка" находится внутри ограниченной области, то заполнится сама эта область. Если "централь- ная точка" находится вне ограниченной области, то выполняется "внешнее" заполнение. Где это возможно используйте fillpoly вместо floodfill: благодаря этому вы сможете обеспе- чить совместимость получаемого кода с новыми версиями. Предупреждение: floodfill не совместим с драй- вером IBM-8514. Возвращаемое В случае возникновения ошибки при заполнении значение области, graphresult вернет величину -7. Переносимость Данная функция работает только на IBM PC и совместимых моделях при наличии соответствующих графических адаптеров. Смотри также drawpoly, fillpoly, graphresult, setcolor, setfillstyle Пример #include main () { int graphdriver = DETECT, graphmode; /* требо- вание автоопределения */ initgraph(&graphdriver, &graphmode, ""); /* инициализация графики */ /* Начертить полосу, а затем заполнить строку и вершину */ setcolor(WHITE); setfillstyle(HACH_FILL, LIGHTMAGENTA); bar3d(10, 10, 100, 10, 1); setfillstyle(SOLID_FILL, LIGHTGREEN); floodfill(102, 50, WHITE); /* заполнить строку */ floodfill(50, 8, WHITE); /* заполнить вершину */ closegraph (); } ----------------------------------------------------------------- floor----------------------------------------------------------------- Назначение Округление сверху вещественного aргумента. Синтаксис double floor(double x); Прототип в math.h Замечания floor находит наибольшее целое, не большее, чем х. Возвращаемое floor возвращает найденное целое (как тип значение double) Переносимость floor доступна в системах UNIX и совместима с ANSI Си. Смотри также ceil, fmod ----------------------------------------------------------------- flushall----------------------------------------------------------------- Назначение Чистит все буферы. Синтаксис int flushall(void); Прототип в stdio.h Замечания flushall очищает все буферы, связанные с откры- тыми потоками ввода, и записывает все буферы, связанные с открытыми потоками вывода, в соот- ветствующие им файлы. Любая операция чтения, следующая за flushall, считывает новые данные в буферы из файлов ввода. После выполнения flushall файлы остаются откры- тыми. Возвращаемое flushall возвращает целое число, которое дает значение общее число открытых потоков ввода и вывода. Переносимость flushall доступна в системах UNIX, и совместима с ANSI Cи. Смотри также fclose, fcloseall, flush ----------------------------------------------------------------- fmod----------------------------------------------------------------- Назначение Вычисляет x по модулю y, остаток от х/y. Синтаксис double fmod(double x, double y); Прототип в math.h Замечания fmod вычисляет х по модулю y (остаток f, где x = iy+f для некоторого целого i и 0 <= f < y). Возвращаемое fmod возвращает остаток f, где x = iy+f (как значение было описано ранее). Смотри также ceil, floor, modf ----------------------------------------------------------------- fnmerge----------------------------------------------------------------- Назначение Создает новое полное имя файла. Синтаксис #include void fnmerge(char *path, const char *drive, const char *dir, const char *name, const char *ext); Прототип в dir.h Замечания fnmerge создает новое имя файла из его компо- нент. Новое полное имя файла будет следующим: X:\DIR\SUBDIR\NAME.EXT где: X - задается параметром drive, \DIR\SUBDIR\ - задается параметром dir, NAME - задается параметром name, EXT - задается параметром ext. fnmerge предполагает, что имеется достаточно места для построения полного имени файла. Его максимальная длина определяется MAXPATH (опре- делена в dir.h). fnmerge и fnsplit взаимнообратные функции, если вы разъедините path посредством fnsplit, а за- тем соедините полученные компоненты с помощью fnmerge, то получите опять path. Возвращаемое Нет. значение Переносимость Уникальна для MS-DOS. Смотри также fnsplit Пример #include #include char drive[MAXDRIVE]; char dir[MAXDIR]; char file[MAXFILE]; char ext[MAXEXT]; main() { char s[MAXPATH], t[MAXPATH]; int flag; for (;;) { printf(">"); /* печать подсказки */ if (!gets(s)) break; /* пока не будет ввода */ if (!gets(0)) break; flag = fnsplit(s,drive,dir,file,ext); /*печать компонент*/ printf(" drive: %s, dir: %s, file: %s, " " ext: %s, ", drive, dir, file, ext); printf("флаги: "); if (flag & DRIVE) printf(":"); if (flag & DIRECTORY) printf("d"); if (flag & FILENAME) printf("f"); if (flag & EXTENSION) printf("e"); printf("\n"); /* собрать части вместе и сравнить с оригиналом */ fnmerge(t,drive,dir,file,ext); if (stromp(t,s) != 0) /* так не должно быть */ printf("--> строки различны!"); } } Результат выполнения программы > C:\TURBOC\FN.C drive: C, dir: \TURBOC\, file: FN, ext: .C, флаги: :dfе > FILE.C drive: , dir: , file: FILE, ext: .C, флаги: fe > \TURBOC\SUBDIR\NOEXT. drive: , dir: \TURBOC\SUBDIR\, file: NOEXT, ext: ., флаги: dfe > C:MYFILE drive: C:, dir: , file: MYFILE, ext: , флаги: f ----------------------------------------------------------------- |