C. Бочков - Язык программирования Си для персонального компьютера
- Название:Язык программирования Си для персонального компьютера
- Автор:
- Жанр:
- Издательство:СП Диалог, Радио и связь
- Год:1990
- ISBN:5-256-00974-5
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
C. Бочков - Язык программирования Си для персонального компьютера краткое содержание
Книга содержит полное описание наиболее распространенных реализаций языка программирования Си на 16-разрядных микроЭВМ, совместимых с IBM PC. Приведено описание стандартных библиотек языка.
Для слушателей учебных курсов в области программирования, разработчиков программного обеспечения, а также студентов соответствующих специальностей вузов. Может быть использовано как техническая документация и справочное пособие для широкого круга программистов, как профессионалов, имеющих большой опыт работы на языке Си, так и начинающих программировать на Си.
Язык программирования Си для персонального компьютера - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
При низкоуровневом открытии файла (при помощи функции open) с ним связывается дескриптор ( handle). Дескриптор является целым значением, характеризующим размещение информации об открытом файле во внутренних таблицах системы. Дескриптор используется при последующих операциях с файлом.
Функции в/в нижнего уровня из стандартной библиотеки целесообразно использовать при разработке своей собственной подсистемы ввода/вывода.
Функции в/в нижнего уровня переносимы в рамках некоторых систем программирования Си, в частности относящихся к ОС UNIX.
Функции вода/вывода высокого уровня
Функция | Краткое описание |
clearerr | очистка флажка ошибки для потока |
fclose | закрытие потока |
fcloseall | закрытие всех открытых (на верхнем уровне) файлов |
fdopen | создание потока для файла, ранее открытого на нижнем уровне, используя дескриптор |
feof | проверка на конец потока |
ferror | проверка флажка ошибок потока |
flush | сброс буфера потока на связанное с ним внешнее устройство |
fgetc | чтение символа из потока |
fileno | получение дескриптора файла, связанного с потоком |
fgetchar | чтение символа из стандартного потока ввода stdin |
fgets | чтение строки из потока |
flushall | сброс буферов всех потоков |
fopen | открытие потока (открыть файл и связать его с потоком) |
fprint | запись данных в поток по формату |
fputc | запись символа в поток |
fputchar | запись символа в стандартный поток вывода stdout |
fputs | запись строки в поток |
fread | неформатированное чтение данных из потока |
freopen | повторное открытие потока в новом режиме |
fscanf | чтение из потока по формату |
fseek | перемещение указателя файла в заданную позицию |
ftell | получение текущей позиции указателя файла |
fwrite | неформатированная запись данных в поток |
getc | чтение символа из потока (реализуется через макроопределение) |
getchar | чтение символа из потока stdin (версия макро) |
gets | чтение строки из потока stdin |
getw | чтение двух байтов (по размеру int) в формате слова из потока |
printf | запись данных в поток stdout по формату |
putc | запись символа в поток (версия макро) |
putchar | запись символа в поток stdout (версия макро) |
puts | запись строки в поток |
putw | запись двух байтов (по размеру int) в формате слова в поток |
rewind | установка указателя по файлу на начало файла |
scanf | чтение данных из потока stdin по формату |
setbuf | управление буферизацией потока |
setvbuf | управление буферизацией потока и размером буфера |
sprintf | запись данных в строку по формату |
sscanf | чтение данных из строки по формату |
tempnam | сгенерировать имя временного файла в заданном каталоге |
tmpfile | создать временный файл |
ungetc | вернуть символ в поток |
vfprintf | запись данных в поток по формату |
vsprintf | запись данных в строку по формату |
Система программирования MSC дополнительно предоставляет следующие функции:
Функция | Краткое описание |
rmtemp | удаление временных файлов, созданных посредством функции tmpfile |
tmpnam | сгенерировать имя временного файла |
vprintf | запись данных в поток stdout по формату |
Система программирования ТС дополнительно предоставляет следующие функции:
Функция | Краткое описание |
vfscanf | эти функции подобны функциям fscanf, scanf и sscanf, но принимают как параметр указатель на список аргументов — адресов переменных, которым присваиваются вводимые значения |
vscanf | |
vsscanf |
Прототипы всех функций ввода/вывода верхнего уровня содержатся в файле stdio.h.
Некоторые константы, определенные в stdio.h, могут быть полезны в программе:
константа EOF | код, возвращаемый как признак конца файла |
константа NULL | значение указателя, который не содержит адрес никакого реально размещенного в оперативной памяти объекта |
константа BUFSIZ | определяет размер буфера потока в байтах |
имя типа FILE | структура, которая содержит информацию о потоке |
Высокоуровневое открытие файлов
Функции открытия потока возвращают указатель на тип FILE (этот указатель называют также указателем потока), этот указатель используется при дальнейших обращениях к потоку.
Стандартные потоки: stdin, stdout, stdeir, stdaux, stdprn.
Когда программа начинает выполняться, автоматически открываются пять потоков. Эти потоки — стандартный ввод ( stdin), стандартный вывод ( stdout), стандартный вывод для сообщений об ошибках ( stderr), стандартный последовательный порт ( stdaux) и стандартное устройство печати ( stdprn).
По умолчанию стандартный ввод/вывод и стандартный вывод сообщений об ошибках связывается с консольным терминалом.
Назначения по умолчанию для стандартного порта и стандартного устройства печати зависят от конфигурации аппаратуры компьютера; эти потоки обычно связываются с последовательным портом и принтером, но могут быть и не установлены в отдельных системах.
Следующие указатели на структуру типа. FILE определяются в файле stdio.hи могут использоваться в любом месте как указатели потоков:
extern FILE * stdin; — стандартный ввод
extern FILE * stdout; — стандартный вывод
extern FILE * stderr; — стандартный вывод сообщений об ошибках
extern FILE * sidaux; — стандартный порт
extern FILE * stdprn; — стандартное устройство печати
При запуске оттранслированной программы на выполнение можно использовать символы перенаправления в/в из командного языка MS-DOS ( < , > или >> ) для переопределения стандартного ввода и вывода программы.
Можно переопределить stdin, stdout, stderr, stdauxили stdprnтак, что они будут относиться к файлу на диске или устройству. Такие возможности предоставляет функция freopen.
Управление буферизацией потоков
Открытые файлы, для которых осуществляется высокоуровневый ввод/вывод, буферизуются по умолчанию, за исключением потоков stdin, stdout, stderr, stdaux, stdprn.
Потоки stderrи stdaux— не буферизованы. Если к ним применяется функция printfили scanf, создается временный буфер. Для обоих потоков может задаваться буферизация с помощью функций setbufили setvbuf.
Буферизация для потоков stdin, stdout, stdprnвыполняется следующим образом: буфер сбрасывается при его заполнении или когда вызванная библиотечная функция ввода/вывода завершает работу.
Читать дальшеИнтервал:
Закладка: