Автор: Пользователь скрыл имя, 22 Декабря 2011 в 21:29, курсовая работа
С++ тілінде ішкі файлдың аналогы болып ағын саналады. С++ де ағынға тип сәйкестендірілмейді. Ағын- енгізу,шығару процесінде берілетін байттық тізбек. Ағын қандай да бір сыртқы құрылғымен немесе дискідегі файлмен байланысты болу керек. С++ терминологиясында ол былайша айтылады: ағын қандайда бір құрылғыға немесе файлға бағытталуы қажет.
Курстық жұмыстың тақырыбы өте ауқымды болып келеді. Курстық жұмысты жазу барысында келесідей негізгі файлдарды ашу және жабу, файлдармен жұмысты ұйымдастыру, файлда форматты енгізу, шығару, символдарды енгізу, файлдың атын өзгерту тақырыптары қозғалмақшы.
Кіріспе.......................................................................................................................3
1.Файлдармен жұмысты ұйымдастыру
1.1 Дискідегі файлмен жұмыс ...........................................................................4
1.2 Файлмен форматтық алмастыру.................................................................5
1. 3 FILE құрылымының көмегімен файлдармен жұмыс жасау........................6
2. С++ тілінде файлдармен жұмыс
2.1 Файлдармен жұмыс жасауға арналған функциялар…....…………….........10
2.2 Файлдағы символдармен жұмыс..... ..............................................................14
2.3 Файлдар және ағымдар...................................................................................16
2.4 Мәліметтер блогын жазу және оқу................................................................18
Қорытынды......................................................................................................20
Қолданылған әдебиеттер..........................................
The file list 1414. bak has been deleted
Бүтін сандарды символдық формаға түрлендірмей ағынға жазу putw ( ) функциясы арқылы жүзеге асырылады.
Int putw (int, FILE * fptr);
Оқу үшін алынған ағынан бүтін санды оқу getw ( ) функциясы арқылы жүзеге асырылады.
Int getw (FILE * fptr);
Функция
файлдан оқылатын санды қайтарады.
Файлмен ақпарат алмастырудың арнайы функциялары мәліметтердің бүтін және символдық типтері үшін ғана бар. Жалпы жағдайда мәліметтер блогын оқу және жазу функциялары қолданылады. Олардың көмегімен файлға нақты сандарды , массивті, жолды және құрылымды жазуға және оқуға болады. Мұнда да бұрын қарастылырған функциялардағы сияқты мәліметтердің ішкі өрнектелу формасы сақталады.
FSEEK функциясы
Файлдағы позицияның көрсеткішімен басқару үшін fseek ( ) кітапханалық функцисы қосымша мүмкіндік береді.
Функцияның прототипі stdio.h файлында тұрады және ол былай белгіленеді:
Int fseek ( FILE *fp, long off set, int origin );
Fp аргументі әдеттегідей FILE құрылымын көрсетеді, файл ассоцияланып байт түрінде көрсетілген ара қашықтыққа off set аргументімен берілген позиция көрсеткішін жылжыту керек. Origin аргументе жылжуды санайтын нүктені береді. Бұл аргумент үш мағынаның біреуі болып келеді.
Санақ басы stdio.h файлында анықталған төмендегі тұрақтылардың бірі арқылы беріледі:
SEEK_ SET(мәні 0-ге тең)-файл басы
SEEK_CUR(мәні 1-ге тең)- ағымдық позиция
SEEK_END(мәні 2-ге тең)- файл соңы.
Ығысу көрсеткішті берілген санақ басына салыстырғанда ығыстыратын байт санын анықтайды. Ығысу оң сан да, теріс сан да бола алады. Екі параметрлердің де типі long болады.
FWRITE функциясы.
Fwrite ( ) кітапханалық функциясы жадыдағы блок берілгендерін екілік файлға жазады. < stdio.h > файлында оның прототипі мынандай:
Int fwrite (void * buf, int size, int count, FILE * fp);
Buf аргументі жадыдағы бір облысқа сілтеуіш болып табылады файлға жазу үшін берілгендерді сақтайды. Ол void түрінде көрсетілген – бұл білдіреді , аргумент кез келген түрдін көрсеткіші бола алады. size аргументі байттағы өлшемді, блоктағы берілген бөлек элементтерді көрсетеді, count аргументі – олардың ортақ көлемі. Fp аргументі FILE функциясының көрсеткіші болады, файлды ашу кезінде fopen ( ) функциясынан қайтарылған fwrite ( ) функциясы файлда жазылған және берілген элементтердің көлемін қайтарады. Егер ол көлемі count аргументі болса, онда ол қате болған. Шығару дұрыстығын тексеру үшін, келесі конструкцияны қолданамыз:
if ((fwrite (buf, size, count, fp))і = count)
fprintf (stderr, "Error writing to file. ");
FREAD функциясы.
Кітапханалық fread ( ) функциясы блок берілгендерін екілік файлдық ағымнан жадыға салыстырып оқиды. Оның прототиі:
int fread (void *buf, int size, int count, FILE *fp);
buf аргументі
жады учаскісіндегі
FTELL () ЖӘНЕ REWIND( ) функциясы.
Rewind () кітапханалық функциясы
void rewind (FILE *fp);
fp аргументі – бұл FILE құрылымына көрсеткіш, rewind шақыруы файлдын басына позиция көрсеткішін құрады.( 0 номерлі байт). Файлдағы көрсеткішті анықтау үшін ftell ( ) функциясын қолданамыз. < stdio.h > файлында функция прототипі :
long ftell (FILE * fp);
fp аргументі
өзімен FILE құрылымын көрсетеді, файлды
ашу кезінде fopen ( ) функциясынан қайтарылады.ftell
( ) функциясы long үлгі мағынасын қайтарады,
оның басындағы файлға ағымдағы байттық
номерді көрсетеді.(бірінші байттық номер
0 тең). Қате болған жағдайда, ftell ( ) –1L ді
қайтарады.
Қорытынды
Осы курстық жұмысымды қорытындылай келе С++ тіліндегі файлдар мен қиын тапсырмаларды шешуге және оларды жеңілдетуге мүмкіндік беретіндігін ұғындым. Файлдарда әр түрлі, керек бағдарламалар бар. Сондықтан бағдарламамен жұмыс істеген қолданушыға файлдармен дұрыс жұмыс істеуі керек. Бұл сабақтан дискілі файлдық байланысы, си тіліндегі файлдың екі түрі, файлды ашуға бағытталған бұйрықтар, ақпараттарды файлға жазу, файлдан мәліметтерді оқу, файлды жабу, дискідегі файлдарды басқару, уақытша файлдардың қолданылуы деген сұрақтарға жауап ала алдық.
Мұнда файлдардың ағыны, дискілік файлмен жұмыс, файлдармен жұмысты ұйымдастыру , файлмен форматтық енгізу, файлмен форматтық алмастыру, файлда символды шығару, файлды жою, бүтін сандарды жазу және оқу, мәліметтер блогын жазу және оқу, fwrite () функциясы, fread ( ) функциясы, ftell () және rewind ( ) функциялары қарастырылды. Әр бөлімде файлдарға қатысты оепраторларының атқаратын қызметі, олардың прототипі және де файлда қолданылатын функциялардың атқаратын қызметі қарастырылған. Курстық жұмыстың ең басты физикалық файлдың негізгі түсініктерін зерттеу, С++ тіліндегі файлдармен жұмыс жасауға арналған функциялармен пороцедураларды зерттеу, С++ тіліндегі файлдармен жұмыс жасау ерекшеліктерін меңгеру, файлдары құру арқылы оның практикалық жүзеге асырылуын орындау міндеттері толықтай зерттеліп, игерілді.
Курстық
жұмыстың басты мақсаты болып
жоғарыда келтірілген сұрақтар мен жұмыс
тақырыбы жан-жақты, тыңғылықты және терең
түрде қарастырылды.
Қолданылған әдебиеттер
Т. А Павловская.- СПб.: Питер, 2005. — 461 с.
/Щупак,Ю.А.- СПб.: Питер, 2005. — 265 с.
Практикум.-СПб.: Питер, 2005. — 239 с.
СПб.: Питер, 2002.
компьютере/
С++./ А.Я. Архангельский.- М.: Бином-Пресс, 2002.
Классы и компоненты./
И.В.Ашарина.- М.: Горячая линия – Телеком, 2002.
БХВ-Петербург, 2002.
13. Фокс Дж. «Профаммное обеспечение и его разработка» Перевод с англ.
- Мир, 1985. - 368 с.
14. Вирт Н. «Алгоритмы и структуры данных» Перевод с англ.-Мир, 1989.-
360 с.
16. Страуструп Б. «Язык профаммирования C++» Радио и связь, 1991.-
230с.
17.
Культин Н. Б. «Самоучитель C++ Builder» Петербург,
2004. - 320 с.