Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Көлік техникасының қолданбалы программалар негі...doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.25 Mб
Скачать

3.1. С тіліндегі енгізу-шығару құралдары

С/С++ тілдерінде 20-дан астам мәліметтерді енгізу-шығару тәсілі бар. 43 Енгізу-шығару стандартты кітапханалық функциялар файлдармен және әртүрлі құрылғылармен байланысқан мәліметтерді оқуға немесе жазуға мүмкіндік береді. С тілінде файлдың қандай да бір алдын-ала анықталған структурасы жоқ. Кез- келген мәлімет байттар тізбегі түрінде қарастырылады. Жалпы енгізу-шығару функцияларын негізгі үш категорияға бөлуге болады:

- Лектік(потоктық);

- консолдық (консольные);

- төмен деңгейлі (низкоуровневые).

Лектік функциялар: буферлік, форматталған, форматсыз енгізу-шығару мүмкіншілігін жүзеге асырады. Буферлік лектердің мәліметтерді уақытша жазу-оқу барысында буферде сақтау мүмкіндігі бар. Дискке тікелей жазу уақыт алады, ал буферлік аймақты пайдалану процесті тездетеді. Лектік функциялар мәліметтерді символдар легі түрінде қабылдайды. Лектік файлдар арқылы белгілі бір мөлшердегі және форматтағы символдар блогымен алмасуға болады. Файлды ашқанда лектік функцияны пайдаланып файлмен FILE типті структура арасында байланыс орнатылады да программа сәйкесінше осы структураға сілтемені алады, ол лек көрсеткіші немесе лек деп аталады.

● Сонымен қатар консоль немесе порт арқылы енгізу-шығару орындалады (мысалы, принтер порты арқылы). Бұл жағдайда сәйкес функциялары мәліметтерді байттап оқып-жазады. Консольмен жұмыс жасау қосымша мүмкіндіктер береді. Бұлар мынадай қосымша мүмкіндіктерді орындайды: - символдық клавиатурадан енгізілген кезеңін анықтау; енгізілген символдар ЭХО режимін қосу-ажырату. Мысалы, символдың клавиатурадан енгізілген кезеңін анықтау, т.б.

● Төмен деңгейлі категория функциялары тікелей жүйелік енгізу-шығару құралдарын пайдаланады, яғни төмен деңгейде файлға немесе периферийлік құрылғыларға жол ашады. Төменгі деңгейлі функциялар арқылы файл ашқанда оның дескрипторы – бүтін сан қайтарылады да, ол кейін файл идентификаторы ретінде қолданылады.

Ескерту: Лектік функция мен төмен деңгейлі функцияларды бір программада араластыру арқылы конфликт пайда болады.

Лектік функциялар.

<stadio.h> стандартты кітапханасында лектік функциялар орналасқан. Қосымшаны жүктегенде автоматты түрде 5 стандартты лек ашылады. Лектер:

- енгізу (stdin);

- қателер (stderr);

- шығару (stdout);

- баспаға шығару (stdprn);

- сыртқы құрылғылар (stdoux).

Автоматты түрде қате, енгізу, шығару стандартты легі консольмен байланысады. Лекті көрсететін көрсеткіш аргументі болатын функцияларда 44 жоғарыдағы көрсеткіштердің бірін таңдап көрсету керек. Stdin, stderr, stdout, stdprn, stdoux- тұрақтылар.

getс ( ), putc ( ) - функциялары

getc ( ) функциясы файлдық лектен 1 символды оқиды.

Жалпы форматы: int getc ( );

Бұл функция буферден оқылған символдың кодын қайтарады. getc ( ) функциясы лектен жаңа жол символы кездескенге дейін оқиды. Мысалы, клавиатурадан Enter басу арқылы ғана жекелеген символдар енгізілсін.putc ( ) - символды лекке жазады.

Мысалы, int ix;

Ix=getc (stdin);

putc (ix, stddut);

putc() функциясы қате жіберілгенде EOF қайтарады. putc, getc функциялары функция және макрос түрінде де анықталған. Макрос приоритеті жоғары. Оны өзгерту үшін, яғни макросты болдырмау үшін: # undef getc препроцессор директивасысы берілу керек.

Бүтін сандарды енгізу

Бүтін сандардың легін (буферлік) енгізіп-шығару үшін: getw ( ), putw ( ) функциялары getc ( ), putc ( ) функция секілді, тек бүтін сандарды оқиды және тек файлдардан (екілік режимде ашылған) оқиды.

3.2. С++ тіліне тәні енгізу-шығару құралдары

С++ тілінде С тіліндегі стандарт функциялар енгізу-шығаруға қолданылады. Сонымен қатар С++ тілінде <iostream.h> тақырыптық файлында анықталған енгізу-шығару құралдары бар. Лектік енгізу-шығару осы тақырыптық файлдағы кластар арқылы орындалады. Мына операторлар: >> - енгізу және <<- шығару операторы - кез-келген типті мәліметтермен жұмыс жасауда қолданылады.

С++-те де үш лектік класс қарастырылған: