Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СП_УМК 2012 каз для 5В070400.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.4 Mб
Скачать

8.3 Файлдар мен каталогтар атрибуттарын алудың басқа әдістері

FindFirstFile және FindNextFile функциялары файлдың атрибуттары туралы келесі ақпаратты алуға рұқсат береді: атрибуттар жалаушалары, уақыттың үш штампы және файл размері. Атрибуттармен жұмыс жасау үшін оларды орнатуға рұқсат беретінімен қоса алғанда бірнеше функциялар бар және олар каталогты қарамай немесе файл атын нұсқамай-ақ ашық файлдың дескрипторымен жұмыс жасай алады. Үш сондай функциялар GetFileSize, GetFileSizeEx және SetEndOfFile жоғарыда бейнеленген еді.

Басқа функциялар қалған атрибуттарды алу үшін қызмет көрсетеді. Мысалы, ашық файлдың уақыт штампын алуға келесі функция арналған:

BOOL GetFileTime ( HANDLE hFile, LPFILETIME lpftCreation,

LPFILETIME lpftLastAccess, LPFILETTMF lpftLastWrite)

Уақытпен жұмыс үшін бірнеше ыңғайлы функциялар бар.

  • FileTimeToSystemTime файл уақытын ыңғайлы бірлікте – жылдан секундқа және миллисекундқа дейін өрнектейді. Бұл форма уақытты бейнелеу немесе шығару кезінде жарамды.

  • SystemTimeToFileTime бірлікте өрнектелген уақытты файл уақытына кері өзгеруді жасайды.

  • CompareFileTime бір файл басқасынан (-1) жаңа, (+1) үлкен немесе олардың жастары (0) тең екенін анықтайды.

  • SetFileTime уақыт штампын өзгертеді: өзгертпей-ақ қоюға болатын уақытша өлшемдер шақыру функциясында 0 ретінде көрсетіледі. NTFS барлық үш уақытша өлшемдерді ұстайды, ал FAT соңғы кіру уақытына ғана дәл жауап береді.

  • FileTimeToLocalFileTime және LocalFileTimeToFileTime UTC-ты жергілікті уақытқа және керісінше өзгертеді.

GetFileType функциясы дисктік файлдарды, символдық файлдарды (бұл құрылғы принтер мен консоль сияқты) және каналдарды айыруға рұқсат береді. Бұл жерде де файлдар өз дескрипторларымен көрсетіледі.

GetFileAttributes функциясы көрсетілген файл мен каталог аты бойынша тек атрибуттарды қайтарады.

DWORD GetFileAttributes (LPCTSTR lpszFileName)

Қайтарылатын мән: файл атрибуттары немесе 0xFFFFFFFF сәтсіз болған жағдайда.

Атрибуттардың белгілі мәндер комбинациясымен сәйкестігін тексеруге болады. Уақытша файл жалаушалары сияқты кейбір атрибуттар CreateFile шақыруында орнатылады. Атрибут мәндері келесідей болуы мүмкін:

FILE_ATTRIBUTE_DIRECTORY FILE_ATTRIBUTE_NORMAL FILE_ATTRIBUTE_READONLY FILE_ATTRIBUTE_TEMPORARY

SetFileAttributes функциясы осы атрибуттарды аты бойынша көрсетілген файлда өзгертеді.

Уақытша файл аттары

Келесі функция уақытша файлдар үшін аттар құрайды. Ат өзгеше (уникальный) және кез келген көрсетілген каталогқа тиісті болуы мүмкін.

GetTempFileName .tmp кеңейтілуімен көрсетілген каталогта өзгеше атты береді (выдает) және сондай файл құруы мүмкін.

UINT GetTempFileName (LPCTSTB lpszPath, LPCTSTR lpszPrefix,

UINT uUnique, LPCTSTR lpszTempFile)

Қайтарылатын мән: өзгеше сандық мән арқасында файл аты құрылады. Егер uUnique нолден өзгеше болса, uUnique қайтарылады. Сәтсіз болған кезде қайтарылатын мән – ноль.

Параметрлері

lpszPath — уақытша файл үшін каталог. "." символы әдетте қазіргі каталогты белгілейді. Сонымен қатар уақытша файлдарға арналған каталогты көрсетуге болады. Оның атын Win32 GetTempPath функциясы береді.

lpszPrefix — уақытша файл атының префиксі. ANSI символдарына ғана рұқсат беріледі. Әдетте uUnique мәні нольге тең; бұл жағдайда функция өзгеше төртразрядты санды генерациялайды және файл құрады. Егер бұл мән нольден өзгеше болса, файл құрылмайды; оны CreateFile көмегімен, кейде FILE_FLAG_DELETE_ON_CLOSE-ге нұсқап, жасау керек.

lpszTempFile уақытша файлдың аты бар буферге нұсқайды. Буфер ұзындығы байтта МАХ_РАТН-ден кем болмауы керек.

Негізгі әдебиеттер: 1 [423 - 459], 2 [36 - 74]

Бақылау сұрақтары:

  1. Файлдарды басқару функциялары.

  2. Каталогтарды басқару функциялары.

  3. CreateFile() функциясының параметрлері.

Дәріс 9. Файлдар және каталогтармен жұмыс жасаудың қосымша әдістері. Реестр.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]