Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

osn_progr_final

.pdf
Скачиваний:
37
Добавлен:
12.02.2016
Размер:
3.27 Mб
Скачать

1.Будь-які необхідні параметри для функції можуть бути оголошені звичайним способом.

2.Останній параметр для функції представляє список необов’язкових аргументів. Цей параметр повинен бути назва-

ний va_alist.

3.Макрос va_dcl є повний опис параметра va_alist:

va_dcl va_alist;

4.void va_start(argptr); – встановлює argptr на початок списку необов’язкових параметрів, що передаються функції. Макрос va_start повинен використовуватися перед першим викликом va_arg. Аргумент arg-ptr повинен мати тип va_list.

5.type va_arg(argptr, type);

va_list argptr

Макрос va_arg виконує наступне:

повертає значення заданого типу type за адресою, що визначається аргументом arg-ptr;

збільшує argptr, щоб вказати на наступний аргумент у

списку, використовуючи розмір type для визначення початку розміщення наступного аргументу.

6.Після повернення всіх аргументів va_end встановлює вказівник у NULL.

Макроси, пропоновані стандартом ANSI C і оголошені в <stdarg.h>, незначно відрізняються від макросів, що оголо-

шені у <varargs.h>.

1.Усі необхідні аргументи для функції задаються як явно описані параметри. Макрос va_dcl не використовується разом

змакросами <stdarg.h>.

2.void va_start(argptr, prevparam);

va_list argptr

Mакрос va_start встановлює arg-ptr на початок списку необов’язкових параметрів, що передаються функції. Макрос va_start повинен використовуватися перед першим викликом va_arg. Аргумент argptr повинен мати тип va_list. Аргумент prevparam є ім’ям явно заданого параметра, що безпосередньо передує першому необов’язковому параметру зі списку аргументів.

3. type va_arg(argptr, type); va_list argptr

Макрос va_arg виконує наступне:

441

повертає значення заданого типу type за адресою, що визначається аргументом arg-ptr;

збільшує arg-ptr, щоб вказати на наступний аргумент у

списку, використовуючи розмір type для визначення початку розміщення наступного аргументу.

4. Після повернення всіх аргументів va_end встановлює вказівник у значення NULL.

Макрос va_arg повертає поточний аргумент; va_start і va_end значень не повертають.

Див. також vfprintf, vprintf, vsprintf.

VFPRINTF - VSPRINTF <stdio.h>, <varargs.h> або <stdarg.h> int vfprintf(stream, format-string, argptr);

int vprintf(format-string, argptr);

int vsprintf(buffer, format-string, argptr); FILE *stream;

char *buffer; // пам’ять для збереження результата char *format-string; //форматний рядок

va_list argptr; // вказівник на список аргументів

Функції vfprintf, vprintf, vsprintf форматують і виводять дані відповідно в потік stream, потік стандартного виводу і буфер buffer. Ці функції схожі на свої двійники fprintf, printf, sprintf, але використовують вказівник на список аргументів замість списку аргументів. Format-string має ту ж саму форму і функцію, що й аргумент рядка формату для функції printf; (див. опис функції printf).

Параметр argptr має тип va_list, визначений у <vararg.h> і <stdarg.h>. Цей параметр вказує на список аргументів, що перетворюються і виводяться згідно відповідним специфікаціям формату в format-string.

Значенням, що повертається, є кількість виведених символів.

Див. також fprintf, printf, sprintf, va_arg, va_end, va_start.

WRITE <io.h>

int write (handle, buffer, count);

int handle; // дескриптор відкритого файлу char *buffer; // дані, що записуються unsigned int count; //кількість байт

Записує count байт із буфера buffer у файл, зв’язаний з handle. Операції write починаються з поточної позиції файло-

442

вого покажчика. Після здійснення операції запису файловий покажчик збільшується на кількість реально записаних байт. Повертає кількість реально записаних байт. У випадку помилки повертає -1.

Див.також fwrite, open, read.

Література.

1Программирование на C++:Учеб. пособие/Аверкин В.П.,Бобровский А.И., Веснич В.В. и др.; Под ред. проф. А.Д. Хомоненко.-Спб.:КОРОНА принт,1999.-

256с.

2Аммерааль Леен STL для программистов на C++:Пер. с англ.-М.:ДМК,1999.-

240с.

3 Бабэ Бруно Просто и ясно о Borland С++:Пеp. с англ.-3-е изд., доп.-М.:

БИНОМ, 1996.-416 с.

4Березин Б.И.,Березин С.Б. Начальный курс C и C++.-М.:ДИАЛОГ-МИФИ,

1999.-288

 

 

 

 

с.

5 Биллиг

В.А.,Мусикаев И.Х. Visual C++ 4. Книга для программистов.-

М.:Русская

редакция;

Channel

Trading

Ltd,1996.-352

с.

6 Бобровский С. Самоучитель программирования на языке C++ в системе

Borland C++ Builder 4.0.-М.:ДЕСС,1999.-286 с. 7 А.Богатырев, Си в UNIX, 1995

8Ричард Вайнер, Льюис Пинсон, С++ изнутри, Киев, НИИПФ ”ДиаСофт”,

1993

9 Н. Вирт. Алгоритмы + структуры данных = программы. - М.:Финансы и Статистика, 1996 г.

10 Голуб Ален И. C и C++. Правила программирования:Пеp. с англ.-М.: Бином,

1996.-272 с.

11Грегори Кэйт Использование Visual C++ 5:Спец. издание; Пер. с англ.-Киев- М.:Диалектика,1997.-816 с.

12Ю.Ю.Громов, С.И.Татаренко ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ СИ, info@citforum.ru

13Харви Дейтел, Пол Дейтел Как программировать на С++

14Дэвис Стефен Р. C++ для 'чайников':Пеp. с англ.-Киев:Диалектика,1996.-304

с.

15Стефан Дьюхарст, Кєти Старк Программирование на С++, Киев, НИИПФ

”ДиаСофт”, 1993

443

16 Касаткин А. И. Профессиональное программирование на языке Си. Управление ресурсами:Справ. пособие.-Минск:Вышэйшая школа,1992.-432 с.

17 Керниган Б.,Ритчи Д. Язык программирования Си:Пеp. с англ.-2-е изд., пеpеpаб. и доп.-М.:Финансы и статистика,1992.-272

18Луис Дерк C и C ++:Спpав. Пеp. с нем.-М.:БИНОМ,1997.-592 с.

19Марк Шевченко Сборник занимательных задач по С-С++ : mountain@mail.ru

20Мешков А. Visual C ++ и MFC. Программирование для Windows NT(тм) и

Windows 95. В 3 т.Т.2.-Спб.:BHV-Санкт-Петербург,1997.-456 с. 21 Мешков А. Visual C ++ и MFC. Программирование для Windows NT(тм) и Windows 95. В 3 т.Т.3.-Спб.:BHV-Санкт-Петербург,1997.-376 с.

22 Мешков Андрей,Тихомиров Юрий. Visual C++ и MFC. Программирование для Windows NT(тм) и Windows 95:В 3 т.Т.1.-Спб.:BHV-СПб,1997.-464 c.

23Нейбауэр Алан Моя первая программа на С/С++:Пеp. с англ.-Спб.:Питер Пресс,1996.-368 с.

24Паппас Крис,Мюррэй Уильям. Visual C++:Рук-во для пpофессионалов. Пеp. с англ.-Спб.:BHV-Санкт-Петербург,1996.-912 с.

25Поттс Стивен, Монк, Тимоти С. Borland C++ в примерах:Пеp. с англ.- Минск:Попурри - Минск,1996.-751 с.

26Рассохин Д.Н. От С к С++.-М.:Эдель,1993.-128 с.

27В.Ю. Романов. Программированиє на язике С++., М., “Компьютер”, 1993

28Сван Том Освоение Borland С++ 4.5: Пpакт. куpс:Пеp. с англ.-2-е изд.- Киев:Диалектика,1996.-544 с.

29Сван Том Освоение Borland С++ 4.5: Энциклопедия функций:Пеp. с англ.- Киев:Диалектика,1996.-320 с.

30Секунов Н.Ю. Самоучитель Visual C++ 6.-Спб.:BHV-Санкт-Петербург,1999.-

960с.

31Скляров Валерий Анатольевич Программирование на языках Си и Си++:Практ. пособие.-М.:Высш. шк.,1996.-240 с.

32Собоцинский В. Практический курс TURBO C++. Основы объектно-

ориентированного

программирования.-М.:Свет,1993.-236

с.

33Страуструп Б. Язык программирования С++:Пеp. с англ.-М.:Радио и связь,1991.-352 с.

34Страуструп Б. Язык программирования C++. М.: “Невский Диалект” - “Издательство БИНОМ”, 1999.

35Страуструп Б. Дизайн и эволюция языка C++. М.: ДМК Пресс, 2000.

36Б. Страуструп. Язык программирования C++, 3-е издание. - М.:БИНОМ, 1999 г. - 991 с.

37ИВК. Техника программированниия на ТURBO C.-М.:Софт,1991.-227 с.

38Топп У.,Форд У. Структура данных в C++:Пер. с англ.-М.:БИНОМ,1999.-816

с.

39Уэйт М. и др. Язык Си: Рук-во для начинающих:Пеp. с англ./Уэйт М.,Пpата

С.,

Маpтин

Д.-М.:Миp,1988.-512

с.:ил.-ISBN

5-03-001301-1.

40

Фейсон Тэд

Объективно-ориентированное программирование на Borland

C++ 4.5:Пеp. с англ.-4-е изд.-Киев:Диалектика,1996.-544 с.

 

41

Фридман А.Л. Основы объектно-ориентированного программирования на

444

языке Си++.-М.:Радио и связь; Горячая линия-Телеком,1999.-208 с. 42 Хаймен Майкл И. Borland C++ для 'чайников':Пеp. с англ.-Киев: Диалектика,

1996.-416 с.

43 Хендрикс Д. Компилятор языка Си для микроЭВМ:Пеp. с англ.-М.:Радио и связь,1989.-240 с. 44 Шаммас Н.К. и др. Изучи сам Borland C++: Extra Credit:Пер. с англ./Шаммас Н.К.,Эрнуш К.,Малрой Э.-Минск:Попурри,1996.-400 с.

45Шилдт Герберт Теория и практика С++.-Спб.:BHV-Санкт-Петербург,1996.-

416с.

46Шилдт Герберт Теория и практика С++:Пеp. с англ.-Спб.:BHV-Санкт-

Петербург,1996.-416 с. 47 Эйткен Питер,Джерол Скотт. Visual C++ для мультимедиа:Пеp. с англ.- Киев:Комиздат,1996.-384 с.

48.Ставровский А.Б. Турбо Паскаль 7.0. – К. Издательськая група BHV, 2000.- 400с.

49.Кузнецов Б.П. Психология автоматного программирования // BYTE РОССИЯ, 2000, №11.

50.Ахо А., Ульман Дж. Теория синтаксичного анализа, перевода и компиляции. В 2-х томах. М.: Мир. – 1978.

51.Буч Г. Объектно-ориєнтированный анализ и проектирование с примерами на С++. М.: “Изд-во Бином”, СПб: “Невский диалект”. – 1998.

445

446

447

448

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]