Справочник по функциям С++. Подпрограммы классификации Подпрограммы преобразования
Скачать 3.41 Mb.
|
settime----------------------------------------------------------------- Назначение Устанавливает системное время Синтаксис #include void settime(struct time *timep); Прототип в dos.h Замечания устанавливает системное время в формате time с указателем timep. Формат time определен следующим образом: struct time { unsignet char ti_min / минуты / unsignet char ti_hour / часы / unsignet char ti_hund / сотые секунды / unsignet char ti_sec / секунды / }; Возвращаемое нет значение Переносимость settime определяется DOS Смотри также ctime, getdate, gettime, setdate, time ----------------------------------------------------------------- setusercharsize----------------------------------------------------------------- Назначение Задает пользовательский коэффициент увеличения символов для штриховых шрифтов Синтаксис #include void far setusercharsize(int multx, int divx, int multy, int divy); Прототип в graphics.h Замечания setusercharsize дает вам возможность управлять размером знаков из штриховых шрифтов. Значения, установленные setusercharsize, действительны только в случае, когда предыдущий вызов settextstyle установил charsize = 0. С помощью setusercharsize вы задаете коэффици- ент масштабирования ширины и высоты символов.По умолчанию ширина вычисляется как multx : divx, а высота как multy : divy. Например, для того, чтобы сделать текст вдвое шире и на 50% выше, чем он принят по умолчанию, нужно задать: multx = 2; divx = 1 multy = 3; divy = 2 Возвращаемое Нет значение Переносимость Эта функция работает только на IBM PC и с ней совместимых, оборудованных адаптером графичес- кого дисплея. Смотри также gettextsettings, graphresult, settextstyle Пример #include #include main() { int graphdriver = DETECT, graphmode; /*требование автоопределения */ char *title = "Текст в рамке"; initgraphdriver(&graphdriver, &graphmode, ""); /* инициализация картинки */ /* начертить прямоугольник и поместить в него текстовую строку */ settextjustify(CENTER_TEXT,CENTER_TEXT); setusercharsize(1,1,1,1); settextstyle(TRIPLEX_FONT, HORIZ_DIR, USER_CHAR_SIZE); setusercharsize(200,textwidth(title), 100,textheight(title)); settextstyle(TRIPLEX_FONT, HORIZ_DIR, USER_CHAR_SIZE); rectangle(0,0,200,100); outtextxy(100,50,title); closegraph(); } ----------------------------------------------------------------- setvbuf----------------------------------------------------------------- Назначение Назначает буферизацию потока Синтаксис #include int setvbuf(FILE *stream, char *buf, int type, size_t size); Прототип в stdio.h Замечания setvbuf вызывает буфер buf для буферизации вво- да/вывода взамен автоматического размещения бу- фера. Она используется после того как данный поток будет открыт. Если buf=0, то буфер будет размещен, используя malloc. Размер size определяет размер буфера и должен быть больше 0. Примечание. Размер size ограничен по максималь- ной величине - 32767. stdin и stdout небуферизировынны если они не определены, иначе они полностью буферезирован- ны. Unbuffered означает, что данные, записанные в поток немедленно выводятся в файл или на уст- ройство, в то время как buffered означает, что данные накапливаются и записываются в виде бло- ка. Параметр type может быть одним из следующиx: _IOFBF Файл полностью буферизирован. Когда бу- фер пуст, следующий оператор ввода пыта- ется заполнить буфер. При выводе буфер полностью заполняется перед тем как дан- ные записываются в файл. _IOLBF Файл буферизирован построчно. Когда бу- фер пуст, следуюий оператор ввода будет пытаться наполнить пустой буфер до за- полнения. При выводе, однако, будет на- полняться до конца всякий раз, когда но- вая строка данныx записывается в файл. _IONBF Файл не буферизируется. Параметры buf и size игнорируются. Каждый оператор ввода будет читать непосредственно из файла, а каждый оператор вывода будет немедленно записывать данные в файл. Частая причина ошибки состоит в размещении бу- фера как автоматической (локальной) переменной и тогда файл оказывается не в состоянии зак- рыться перед возвратом из функции где был объявлен буфер. Возвращемое setvbuf возвращает 0 в случае успеxа и возвра- значение щает отличное от 0 значение, если неправильно были указаны type, size или если в системе не- достаточно места для размещения буфера. Переносимость setvbuf доступна для системы UNIX и совместима со стандартом ANSI. Смотри также flush, fopen, setbuf Пример #include main() { FILE *input, *output; char bufrl[512]; input = fopen("file.in","i"); output = fopen("file.out","w"); if (setvbuf(input, bufr _IOFBF 512) :=0) printf("failed to set up buffer for input file\n"); else printf("buffer set up for input file\n"); if (setvbuf(output, NULL, _IOLBF, 132 != 0) printf("failedto set up buffer for output line\n"); else printf("buffer to set up for output file\n"); fclose(input); fclose(utput); } ----------------------------------------------------------------- |