81.3.3.5. КОНЦЕПТУАЛЬНЫЙ RTL РАБОТЫ С ФАЙЛАМИ




Концептуальный RTL для файлов

	Создание и/или открытие файла
		на чтение
		на запись
		на добавление
			file pointer ставиться на конец
		
		создавать только если не существует
		создавть всегда (если есть старый то заменяем его)
		открыть существующий
		открыть существующий, создать если нет
		если существует - усечь до нулевой длинны
	
	Аттрибуты при создании
	Режим sharing
		share read
		share write
		share all
	Режим caching
		write through
		no buffering
	Cache hints
		sequental access
		random access
	Режим временного файла
		delete on close
	Synchronous I/O
	Разрешить ассинхронный I/O


	Закрыть файл

	Чтение из файла (общее)
		Буфер
		Смещение в файле
		Количество байт 
		Количество байт сколько прочиталось
	
	Запись в файл

	Асинхронные варианты чтения/записи

	Seek file (Set file pointer)

	Сбросить буфера файла на диск

	Залочить/Анлочить файл/регион в файле
	
	Получить размер файла
	
	Получить/установить аттрибуты файла
	
	Получить/установить времена файла

	Удалить файл
	Переименовать файл
	Переместить файл
	Скопировать файл


Пользовательский RTL для файлов
	например - считать строку из файла
	Обвязки - файлы и сокеты бывают разными объектами

Windows API:
	CreateFile
	CloseHandle
	DeleteFile
	WriteFile
	FlushFileBuffers
	ReadFile
	SetFilePointer
	SetFilePointerEx
	GetFileAttributes
	SetFileAttributes
	GetFileSize
	GetFileSizeEx
	SetEndOfFile

	LockFile
	UnlockFile
	GetFileInformationByHandle

	
	CopyFile
	MoveFile
	ReplaceFile
	
	ReadFileEx
	WriteFileEx
	CancelIo


MemoryMapped:
	CreateFileMapping
	MapViewOfFile
	MapViewOfileEx
	UnmapViewOfFile
	FlushViewOfFile
	


UNIX API:
	open
	creat
	close
	umask
	unlink
	read
	write
	lseek  и его варианты
	pread
	pwrite
	readv
	writev
	
	sync
	fsync
	fdatasync

	truncate
	ftruncate
	rename

	stat
	fstat

	chmod
	fchmod
	chown
	fchown
	utime
	access
	fcntl




Index Prev Next