3d1bffa1-5630-11e4-bf6e-f6d299da70eeС++ УМК (1). Глоссарий case
Скачать 1 Mb.
|
Ұсынылатын әдебиет
№7 Дәріс Тақырыбы: С++ тіліндегі ағынды енгізу-шығару Дәріс жоспары: Ағындар Ағындарды шығару Ағындарды енгізу Форматталған емес енгізу-шығару Ағындардың монипуляторлары Дәрістің қысқаша мазмұны Енгізу-шығарудың әрбір операциясы деректер типіне нәзік жолмен орындалады.С++ тілінде байттық енгізу-шығару ағыны шығарылады. Енгізу-шығару механизмі деректердің құрылғыдан оперативті жадқа және сенімді жолмен қорытындыланады. С++ тілі енгізу-шығару үшін «төменгі» және «жоғарғы» деңгейлерге мүмкіндік береді. Төменгі деңгейдегі енгізу-шығару деректердің кейбір байт сандарын құрылғыдан жадқа немесе жадтан құрылғыға қайта жіберу керек екеніне жалпыланады. Енгізу-шығару жоғарғы деңгейі, деректердің байт саны элементтері бойынша біріктіріледі, мысалы бүтін сандар, жылжымалы үтір сандар, символдар, жолдар және қолданушымен анықталған деректер типі. С++ тілі форматталған және форматталған емес енгізу-шығару үшін де мүмкіндік береді. Форматталған емес енгізу-шығару файлдардың жоғары жылдамдықпен қайта берілуінің орындалуына мүмкіндік береді, бірақ ол қолданылуы қиын тек әлі толық емес деретерді қайта өңдейді. Форматталған енгізу-шығару құрылымды деректерді өңдейді, бірақ оларды өңдеуге қосымша уақыт қажет, бұл үлкен көлемді деректерді тасымалдау кезінде кемшілік болуы мүмкін. С++тегі программалардың көбісі Iostream кітапханасы енгізу-шығару операциясының кең спектрін өңдеу үшін көп кластарды құрайды: istream класы ағындардың енгізу операциясын ұстайды; ostream класы ағындардың шығару операциясын ұстайды; iostream класы ағындардың енгізу, әрі шығару операциясын ұстайды; istream және ostream кластары тікелей мұрагерленген ios базалық класының туынды кластары болып табылады; iostream класы көп мұрагерленген istream және ostream кластарының туынды класы болып табылады; Солға (<<) жылжыту операциясы шығаруды ағында белгілеу үшін шамадан тыс жүктелген және ол ағынға орналастыру опеарциясы деп аталады Оңға (>>) жылжыту операциясы енгізуді ағында белгілеу үшін шамадан тыс жүктелген және ол ағыннан алу операциясы деп аталады. Cin енгізуі istream класының стандартты ағынының объектісі енгізудің стандартты құрылғысына байланған, әдетте пернелер тақтасына.Cout шығару ostream класының стандартты ағынының объектісі шығарудың стандартты құрылғысына байлаған, әдетте дисплей экранына. Ostream класының cerr объектісі қателіктер туралы хабарлама шығраудың стандартты құрылғысына байланған. Деректердің шығарылатын ағындары cerr объект3с3 8ш3н буферленген емес болып табылады. Endl ағынының монипуляторы жаңа жолға көшуді шақырады, сонымен қатар шығару буферінің жойылуына әкеп соқтырады. С++ компиляторы енгізу және шығару кезінде автоматты түрде деректердің типін анықтайды. Он алтылық форматта адрес көрсетіледі. Адрес басылымы үшін көрсеткіш типін void типіне әкелуге болады. Put функция-элементі бірлік символ шығарады.put функциясының шақырылуы алқаланған болуы мүмкін. Ағынды енгізу ағыннан » алу операциясымен орындалады. Бұл операция автоматты түрде кіру ағынындағы ажыратқыш символдарды ескермейді.» операциясы false-ні қайтарады, егер ағында файл соңының белгісі кездессе. Ағыннан алу операциясы дұрыс емес типті деректерді енгізген кезде,failbit битті орнатуға операцияның сәтті емес аяқталуы кезінде badbit битін орнықтыруға әкеп соқтырады. Артынан деректерді енгізуге болады, яғни while тақырып циклының шартты операторында ағыннан алу операциясы қолдану арқылы. Ағыннан алу операциясы false- ні қайтарады,егер файл соңының белгісі кездессе. Форматты емес енгізу-шығару read және write функция-элементі көмегімен орындалады. Олардың әрқайсысы кейбір байт сандарын символды массивқа енгізеді немесе одан шығарады. Бұл байттар қандай да бір форматтауға ұшырамайды және жаңа байттар сияқты енгізіледі немесе шығарылады. Gcount функция-элементі соңғы read операциясымен оқылған символдардың саны туралы хабарлайды. Read функция-элементі символды массивқа көрсетілген символдар санын енгізеді. Егер символдардың аз саны оқылса , онда failbit биті орнатылады. Ұсынылатын әдебиет Программирование на Visul C++/ С.В. Глушаков, А.В. Коваль А.В., С.А. Черепнин; Худож.-оформ.А.С. Юхтман.-М.:ООО «Издательство АСТ»; Харьков: «Фолио», 2003.-726 с. Глушаков С.В., Коваль А.В., Смирнов С.В. Язык программирования С++: Учебный курс/Худож.- оформитель А,С.Юхтман. – Харьков: Фолио; М.: ООО «Издательство АСТ», 2001.-500 с. Харви Дейтел, Пол Дейтел, Как программировать на С++: Третье издание. Пер. с англ.-М.: ЗАО «Издательство БИНОМ», 2001 г. -1152 с.: ил. №8 Дәріс |