112
fp = fopen("t.txt", "r") ;
мұндағы t. txt – лекпен байланысты қандай да бір файл аты;
r
–
файлмен жұмыс режимдерінің бір белгіленуі (лекке рұқсат алу типі).
Лекпен байланысты, стандартты
файлды келесі алты режимнің
біреуімен ашуға болады:
"w"
– жаңа мәтіндік файлы жазу үшін ашылады. Егер файл бар болған
болса, онда алдыңғы мазмұны тазаланып, жаңадан қайта құрылады;
"r"
– бар мәтіндік файл оқу үшін ғана ашылады;
"а"
– мәтіндік файл оған жаңа ақпарат қосу үшін (файл соңына)
ашылады (немесе егер файл жоқ болса, құрылады). V режиміне қарағанда "а"
режимі бар файлдарды олардың алдындағы
версияларын жоймай ашады
және оған ары қарай жазуға болады;
"w+"
– жаңа мәтіндік файл жазу үшін және ары қарай бірнеше рет
қолдану үшін ашылады. Егер файл бар болса, онда оның мазмұны тазарады.
Файлдардың келесі ашылуы жазу мен одан оқу файлдың кез келген жерінде
рұқсат етілген, сонымен қатар файлдың соңына да жазу қосуға болады, яғни,
файл көлемі үлкейе алады;
"r+"
– бар мәтіндік файл оқу үшін де жіне файлдың кез келген жеріне
жазу үшін де ашылады. Бірақ, бұл режимде файлдың соңына жазу мүмкін
емес, яғни, файл өлшемін кеңейту мүмкін емес;
"а+"
– мәтіндік файл өзгертуге болатындай ашылады немесе құрылады
(егер ол жоқ болса) яғни, кез келген жерден оқу мен жазу мүмкін
болатындай; Сонымен қатар "w+" режиміне
қарағанда бар файлды оның
мазмұнын жоймай ашу мүмкін; "г+" режиміне қарағанда "а+" режимінде
файл соңына жазу енгізуге болады, яғни, оның көлемін өзгертуге болады.
Лекті мәтіндік немесе екілік(бинарлық) режимде ашуға болады.
Мәтіндік режимде лектен оқылған символдар комбинациясы CR (13
мәні ) және LF (10 мәні), яғни, " каретканы қайтару" және "жолды
тасымалдау" басқарушы кодтары жаңа жолдың бір символына '\n' (LF) , CR
және LF кезектілігін ауыстыру арқылы түрленеді.
Егер лекпен байланысты файл мәтіндік емес, өзіндік екілік ақпараттан
тұрса, онда көрсетілген түрлендірулер керек
емес және зиянды болуы да
мүмкін. Мұндай түрлендірусіз алмасу b әрпімен белгіленетін, екілік немесе
бинарлық режимде орындалады. Мысалы, "r+b" немесе "wb". Кейбір
компиляторларда мәтіндік файл t әрпімен белгіленеді, яғни, "a+t" немесе "rt"
түрінде жазылады.
Егер лек өзгерту үшін
ашылған болса, яғни, режим параметрінде "+",
символы бар болса, онда лекке шығарумен қатар одан оқу да мүмкін. Бірақ,
режимді ауыстыру (оқудан жазуға өту немесе керісінше) лек нұсқаушысын
керекті позицияға орналасырғаннан кейін ғана орындалуы керек.
Лекті ашуда келесідей қателер пайда болуы мүмкін: лекпен байланысқан
нұсқалған файл табылған жоқ (оқу режимі үшін); диск бос емес немесе
дискіге жазуға рұқсат жоқ және т.б.
fopen(
) функциясының орындалуы
113
кезінде динамикалық жадының бөлінуі орындалатынын ескерте кету керек.
Ол жоқ болған жағдайда "Not enough memory" (жадыда орын жоқ) қате
белгісі шығады.
Аталған жағдайларда, лекке нұсқаушы
NULL
мәніне ие
болады.
Лекпен байланысқан файлдарды ашуда қолданылатын операторлар
кезектілігіне мысал келтірейік:
Достарыңызбен бөлісу: