3d1bffa1-5630-11e4-bf6e-f6d299da70eeС++ УМК (1). Глоссарий case
Скачать 1 Mb.
|
Тақырыбы: тақырып. С++ ортасында файлдармен жұмыс. Дәріс жоспары:Файлдар мен ағындар. Тізбекті кіру мүмкіндігінің файлы. Кездейсоқ кіру файлдары Дәрістің қысқаша мазмұныС++ тегі файлдарды өңдеу үшін MFC кітапханасына файлдармен жұмыс істеуді қамтамасыз ету үшін бірнеше кластар қосылған. Төменде қарастырылатын кластар файлдармен жұмыс істеуді қамтамасыз ету үшін арналған Cfile базалық класынан мұрагерленген. Файлға кіру мүмкіндігін алу үшін, алдымен CFile класының объектісін құру керек. Класс құраушысы осы объектті құрғаннан кейін файлды ашуға рұқсат береді. Бірақ файлды кешіректеу ашуға да болады, яғни Open әдісін қолдану арқылы. Open әдісінің прототипінің келесі түрлері бар: virtual BOOL Open(LPCTSTR lpszFileName, UINT nOpenFlags, CFileException* pError=NULL); Файлмен жұмыс істеуді аяқтағаннан кейін, оны жабу керек. CFile класы ол үшін close арнайы әдісін иеленген. Егер CFile класының объектісі құрылса және файл ашылса, содан кейін объект жойылса, онда онымен байланысты файл автоматты түрде деструктор көмегімен жабылады. Файлдарға кіру үшін CFile класының бірнеше әдістері арналған:CFile: Read, ReadHuge, Write, WriteHuge, Flush. Методы Read және ReadHuge әдістері алдын ала ашылған файлдағы деректерді оқу үшін арналған. 32-разрядтік операциондық жүйелерде екі әдіс те файлдан 65535-тен астам байтты бір уақытта оқи алады. Cfile класының әдісі файлдың жолын орнықтыруға мүмкіндік береді. Бұл әдіс құрмайды, көшірмейді,файлдық атын өзгертпейді, ол тек Cfile класының объектісінде деректердің сәйкес элементін толтырады. CMemFile классы МҒС кітапханасына Cfile базалық класын мұрагерленген CMemFile класы кіреді. CMemFile класы файлды, операти втік жадта орналасқан, CMemFile класының объектілерімен көрсетеді,яғни CFile кластарының объектілерімен сияқты. Айырмашылығыс сонда, CmemFile объектісімен байланысқан файл дискта емес, компьютердің оперативті жадында орналасқан. Осындай файлмен операция жылдам орындалады, қарапайым файлдарға қарағанда. CmemFile класының объектілерімен жұмыс істей келе, жоғарыда көрсетілген CFile класының барлық әдістерін қолдануға болады. Деректерді сондай файлға жазуға немесе оларды санауға болады. Осы әдістерден басқа CMemFile класының құрамына қосымша әдістер қосылған. CMemFile класының объектілерін құру үшін екі әртүрлі құраушы (конструктор) арналған. CMemFile бірінші конструктор тек бір аса қажетті емес nGrowBytes параметрін иеленген: CMemFile(UINT nGrowBytes=1024); Бұл құраушы оперативтік жадта бос файл автоматты түрде ашылады. Осындай файлға жазылу басталып жатқанда, автоматты түрде жадтың блогы белгіленеді. Жад алу үшін CmemFile класының әдістері malloc, realloc және free стандартты функцияларын шақырады.Егер берілген жад блогы жеткілікті емес болса, онда оның өлшемі ұлғаяды.Файлдың жад блогын ұлғайту бөлікпен CMemBytes байт бойынша жүргізіледі. CMemFile класының объектісін жойғаннан кейін қолданылған жад автоматты түрде жүйеге оралады. Cfile базалық класынан мұрагерленген CstdioFile класы буферленген енгізу- шығаруды мәтіндік және екілік режимде қолдануға мүмкіндік береді. CStdioFile класының объектілері үшін CFile класының барлық әдістерін шақыруға болады.Мәтіндік файлға жазу үшін және оқу үшін CStdioFile класы екі жаңа әдісті қосады: ReadString және WroteStreang. Бірінші әдіс файлдан символдар қатарын оқуға мүмкіндік береді, ал екінші әдіс- жазу. |