- •Институт математики, экономики и механики кафедра математического обеспечения компьютерных систем в. С. Макогон, и. Н. Лисицына
- •Оглавление
- •Введение
- •Основныетипы данных, операции и выражения
- •Описание переменных.
- •Операции , выражения и операторы.
- •3. Операторы управления программой. Базовые управляющие структуры.
- •Операторы ветвления Условный оператор if
- •Оператор - переключатель
- •Операторы повторения (цикла).
- •4. Программирование алгоритмов линейной структуры.
- •5. Программирование разветвляющихся алгоритмов (оператор if).
- •6. Программирование разветвляющихся алгоритмов (оператор switch)
- •Оператор for
- •Цикл с постусловием do -while
- •8. Итерационные циклы
- •Задачи для самостоятельного решения
- •9. Программирование алгоритмов с использованием функций
- •Основные понятия численного решения уравнений
- •10. Программирование алгоритмов с использованием массивов
- •11. Символьные переменные и строки. Обработка строк.
- •Другие средства ввода-вывода символов и строк
- •Массивы строк
- •12. Указатели
- •Массивы указателей
- •2. Описание метода трапеций
- •3. Программный комплекс
- •13. Структуры
- •Указатели на структуры
- •14. Файлы. Потоковый ввод-вывод
- •Функции для работы с файлами
- •Открытие файловых потоков
- •Закрытие файловых потоков
- •Удаление файлов
- •Переименование файлов
- •Реинициализация
- •Функции для ввода-вывода по символам
- •1 Вариант) содержит только буквы исходной строки
- •2 Вариант) перевернута по отношению к исходной
- •Двоичные (бинарные) файлы. Блочно-ориентированный ввод-вывод.
Функции для работы с файлами
Заголовочный файл <stdio.h> предоставляет широкий набор функций для работы с файлами. Среди них функции, осуществляющие:
Непосредственные операции с файлами (открытие, закрытие, создание, удаление и т.д.)
Операции ввода-вывода (посимвольный, построчный, форматированный, блочный и т.д.)
Контроль достижения конца файла и обнаружение возникающих ошибок
Работа с указателем текущей позиции в файле
Управление буферизацией и размером буфера
Общий обзор основных функций представлен в таблицах ниже.
Файловые операции
Открытие файлового потока | |
fopen() |
Открытие потока |
freopen() |
Связывание нового файла с существующим потоком |
fdopen() |
Связывание потока с логическим номером файла |
Закрытие потока | |
fclose() |
Закрывает поток |
fcloseall() |
Закрывает все открытые потоки, кроме предопределенных |
Удаление файлов | |
remove() |
Удаление файла |
unlink() |
Удаление файла |
Переименование файлов | |
rename() |
Переименование файла |
Реинициализация | |
rewind() |
Сброс индикаторов ошибок и установка указателя в начало |
Временные файлы | |
tmpfile() |
Создание временного файла |
tmpnam() |
Установка имени временного файла |
rmtmp() |
Удаление всех временных файлов |
Операции ввода-вывода
Объект операции |
Чтение из потока |
Запись в поток | ||||
из stdin |
из любого |
из строки С |
в stdout |
в любой |
в строку С | |
символ |
getchar() fgetchar() |
getc() fgetc() ungetc() |
|
putchar() fputchar() |
putc() fputc() |
|
слово |
|
getw() |
|
|
putw() |
|
строка |
gets() |
fgets() |
|
puts() |
fputs() |
|
Форматированные данные |
scanf() vscanf() |
fscanf() vfscanf() |
sscanf() snscanf() vsscanf() vsnscanf() |
printf() vprintf() |
fprintf() vfprintf() |
sprintf() snprintf() vsprintf() vsnprintf() |
блок данных произвольной длины (двоичный поток) |
|
fread() |
|
|
fwrite() |
|
Операции для работы с ошибками и контроля достижения конца потока
Контроль конца потока | |
feof() |
Обнаруживает конец файла (EOF) в потоке. |
Работа с ошибками | |
ferror() |
Обнаруживает ошибки в потоке. |
perror() |
Печатает системные сообщения об ошибках |
strerror() |
Транслирует код ошибки в сообщение |
clearerr() |
Сброс индикации ошибок |
Операции с файловым указателем
fgetpos() |
Возвращает положение указателя текущей позиции в файле |
fsetpos() |
Позиционирует указатель текущей позиции в файле |
ftell() |
Возвращает положение указателя текущей позиции в файле |
fseek() |
Устанавливает указатель файла в потоке |
Операции для работы с буфером
fflush() |
Сбрасывает поток |
flushall() |
Сбрасывает все потоки |
setbuf() |
Назначает буфер для потока |
setvbuf() |
Назначает буфер для потока |