94
Мұндағы
f
нұсқауышы кейін кездесетін ағымдармен орындалатын опера-
цияларда қолданылады. Олар енгізу/шығару
функцияларына параметр ретінде
беріледі.
Ағымды ашу кезінде онымен
буфер деп аталатын жады аймағы байла-
ныстырылады. Мəлімет шығару кезінде барлық ақпарат буферге жіберіледі
жəне онда буфер толғанша немесе ағым жабылғанша сақталады. Мəлімет
оқу буфер көлеміне тең блоктар арқылы орындалады жəне мəліметтер бу-
ферден оқылады. Буферді пайдалану сыртқы
құрылғылармен айтарлықтай
жылдам əрі тиімді түрде ақпарат алмасу мүмкіндігін береді. Программада
оқыс жағдайлар туындап, оны апаттық аяқтау жағдайында алдыңғы буферге
шығарылып жинақталған мəліметтер жоғалып кетуі мүмкін
екендігін ескер-
ген жөн. Буферлер көлемін жəне олардың құрылуын
setbuf
жəне
setvbuf
функцияларының көмегімен басқаруға болады.
Программа жұмысының басында ашылатын, алдын ала анықталған
бес
ағым бар, олар:
stdin
стандартты түрде мəлімет енгізу,
stdout
стандартты түрде мəлімет шығару,
stderr
қателер туралы стандарт-
ты хабарламалар шығару ағымдары,
stdaux
қосымша стандартты ағым
жəне
stdprn
баспаға шығарудың стандартты ағымы.
Келісім бойынша
алғашқы үш ағым консольге қатысты болып саналады. Бұларды ағым
нұсқауышы қажет болғанда, кез келген енгізу/шығару функциясында
қолдануға болады.
Ағымға мəлімет енгізу/шығару
Ағымға мəлімет енгізу/шығару əрекеттерін əртүрлі тəсілдермен: байт-
тар тізбегі түрінде, символдар мен тіркестер түрінде
немесе форматтық
түрлендірулерді қолдану арқылы жүзеге асыруға болады. Əрбір операция
түрі үшін өзіндік функциялар жиыны анықталған. Олар 6-қосымшада, 439 б.
сипатталған.
Енгізу/шығару операциялары
ағым нұсқауышының орны
арқылы анық-
талатын ағымның қазіргі сəттегі позициясынан бастап орындалады. Файл-
ды ашу кезінде нұсқауыш оның басына немесе соңына (ашу режиміне бай-
ланысты) орналастырылады жəне əрбір енгізу/шығару операциясынан кейін
автоматты түрде өзгеріп отырады. Нұсқауыштың ағымдағы орнын
Достарыңызбен бөлісу: