Енгізу-шығарудың стандартты кітапханасы.
StdIO-бұл стандартты енгізу-шығару кітапханасы, оның негізгі мақсаты файлдарға қол жеткізудің тиімді, дамыған және портативті құралдарын ұсыну болып табылады. Кітапхана деректерді форматталған енгізу, шығару және түрлендіруге арналған мүмкіндіктер жиынтығын ұсынады. Стандартты енгізу-шығару процедуралары портативті болып табылады, өйткені олар белгілі бір платформаның арнайы қасиеттеріне байланысты емес, бірақ POSIX стандарттар тобының бөлігі болып табылады. Кез-келген толыққанды тіл компиляторы қолданылатын амалдық жүйеге қарамастан стандартты енгізу-шығару кітапханасына қол жеткізуге мүмкіндік береді. Free Pascal компиляторы сонымен қатар бұл кітапхананы si тілінің кітапханалық функцияларын (libc модулі) тасымалдау шеңберінде пайдалануға мүмкіндік береді.
STDIO кітапханасынан буферленген енгізу-шығару процедуралары файл туралы сипаттамалық ақпаратты (файл дескрипторы) қамтитын file типті құрылымға көрсеткіш арқылы ашық файлдарды анықтайды. Free Pascal-да file-дегі көрсеткіш PFILE типі болып жарияланады. Бұл типтегі айнымалылардың мақсаты дәстүрлі Паскальдағы файл түріндегі айнымалыларға ұқсас. Файлмен жұмысты бастау үшін оны fopen функциясының көмегімен ашу керек. Бұл функцияның бірінші параметрі файл атауын, екіншісі - кіру режимін көрсететін жолды көрсетеді:
'r 'файлы тек оқу үшін ашылады,' r+ ' - оқу және жазу үшін (егер файл болмаса, функция сәтсіз аяқталады);
'w' файлы тек жазу үшін ашылады, 'W+' - оқу және жазу үшін (егер файл жоқ болса-ол жасалады, егер файл бар болса-ол нөлдік ұзындыққа кесіледі);
'a' файлы тек жазу үшін ашылады, деректер файлдың соңына қосылады,' a+ ' - оқу және жазу үшін (егер файл болмаса - ол жасалады).
Егер fopen функциясы сәтсіз болса, ол Nil көрсеткішін қайтарады. Айта кету керек, жаңарту режимінде ашылған файлдар үшін (режим жолағында ' + ' бар) бағдарлама енгізу және шығару операцияларын осы файлды қайта ашпай-ақ бір уақытта орындай алады. Бұл жағдайда rewind (файлдың басына) және fseek (еркін орынға) функцияларын қолдана отырып, Ішкі оқу-жазу көрсеткішін жылжытуға болады. Fseek функциясының үшінші параметрі оқу-жазу көрсеткішінің жаңа орны есептелетін бастапқы нүктені анықтайды: SEEK_SET-файлдың басынан, SEEK_CUR-көрсеткіштің ағымдағы орнынан, seek_end-файлдың соңынан. Ftell функциясын пайдаланып оқу-жазу көрсеткішінің ағымдағы орнын анықтаңыз. Файлды жабу үшін fclose функциясы қолданылады.
|