Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Ф а й л ы



В языке С файлы – это логическая концепция, применяемая ко всему, начиная от дисковых файлов и оканчивая терминалами. Поток связывается с конкретным файлом с помощью операции открытия. Если файл открыт, может осуществляться обмен информацией между файлом и программой.

Не все файлы имеют одинаковые возможности. Например, дисковый файл поддерживает произвольный доступ, а модем – нет. Это иллюстрирует важный момент системы ввода-вывода языка С – все потоки одинаковы, а файлы нет.

Если файлы поддерживают произвольный доступ, открытие файла инициализирует указатель положения в файле на начало файла. По мере чтения или записи в файл указатель положения перемещается, обеспечивая тем самым продвижение по файлу.

Наименьшей частью доступа к диску является сектор. Информация записывается на диск или читается с диска посекторно. Следовательно, даже если программе необходим 1 байт данных, будет прочитан весь сектор. Эти данные помещаются в буфер – область памяти, пока не смогут использоваться программой.

Связь потока с файлом уничтожается с помощью операции закрытия. Закрытие потока вызывает принудительный сброс всего содержимого буфера во внешнее устройство. Данный процесс называется очисткой буфера и он гарантирует, что в буфере не останется информации. Все файлы закрываются автоматически, когда программа завершается нормальным образом, выходя из функции main() или с помощью вызова функции exit(). Тем не менее, лучше самому закрыть файлы, используя функцию fclose() в тот момент, когда файл уже не нужен.

В начале работы программы открыты пять предопределенных текстовых потоков: stdin, stdout, stderr, stdaux, stdprn. Они соответствуют следующим стандартным устройствам ввода-вывода:

ПотокУстройство

stdin Клавиатура

stdout Экран

stderr Экран

stdaux Первый последовательный порт (COM1)

stdprn Принтер





Дата публикования: 2015-10-09; Прочитано: 291 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...