Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

FOPEN(3S)

НАЗВАНИЕ
fopen, freopen, fdopen - открыть поток

СИНТАКСИС


	#include <stdio.h>

	

	FILE *fopen (filename, type)

	char *filename, *type;

	

	FILE *freopen (filename, type, stream)

	char *filename, *type;

	FILE *stream;

	

	FILE *fdopen (fildes, type)

	int fildes;

	char *type;

ОПИСАНИЕ
Функция fopen открывает файл с именем filename, ассоциирует с ним поток и возвращает указатель на структуру типа FILE, соответствующую этому потоку.

Аргумент filename является указателем на цепочку символов - имя открываемого файла.

Аргумент type - это указатель на цепочку символов, которая может принимать одно из следующих значений:
r Открыть на чтение.
w Опустошить или создать для записи.
a Добавлять; открыть для записи в конец файла или создать для записи.
r+ Открыть для изменения (чтения и записи).
w+ Опустошить или создать для изменения.
a+ Добавлять; открыть или создать для изменения в конце файла.

Функция freopen подставляет указанный файл вместо ранее открытого потока, заданного аргументом stream. Первоначальный поток закрывается независимо от того, удалось ли открыть новый файл. Функция freopen возвращает указатель на структуру типа FILE, ассоциированную с потоком.

Функция freopen обычно используется для привязки заранее открытых потоков stdin, stdout и stderr к другим файлам.

Функция fdopen ассоциирует поток с дескриптором файла fildes, полученным в результате выполнения системных вызовов open, dup, creat или pipe(2), которые открывают файл, но не возвращают указатель на структуру типа FILE, описывающую поток. Этот указатель требуется для идентификации потока во многих библиотечных функциях подраздела 3S. Тип потока, заданный аргументом type, должен соответствовать режиму доступа к открытому файлу.

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

Если файл открывается для добавления (то есть тип type равен "a" или "a+"), то невозможно изменить информацию, уже содержащуюся в файле. Функция fseek может использоваться для перемещения указателя файла в любую его позицию, но при операции записи указатель текущей позиции файла игнорируется. Вся выводимая информация записывается в конец файла и указатель текущей позиции перемещается на конец записываемых данных. Если два процесса открывают один и тот же файл для добавления, то каждый процесс может писать в файл без риска разрушить вывод другого процесса. Данные, записываемые двумя процессами, будут перемежаться в файле в порядке их поступления.

СМ. ТАКЖЕ
creat(2), dup(2), open(2), pipe(2), fclose(3S), fseek(3S), stdio(3S).

ДИАГНОСТИКА
В случае ошибки функции fopen, fdopen и freopen возвращают пустой указатель NULL.

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...