Си тіліндегі файлдармен жұмыс



Кіріспе
1. Си тіліндегі файл ұғымы
2. Есептің берілгені
3. Си тіліндегі функциялар
4. Функциялардың сипатталуы
5. Функцияның орындалу алгоритмі
Қорытынды
Пайдаланылған әдебиеттер
Программа листингі
Жалпы программалық технологиялар дамуымен біз көлемді және қиын мәліметтерді өңдеуге және жіберуге мүмкіндік аламыз. Олардың 90% файлдарда орналасқан.
Файлдарды қолдану үшін жұмысшыға қосымша есептер шығаруға тура келеді. Олардың негізгісі – белгілі бір файлды іздеп табу арқылы енгізу-шығару операцияларын орындау.
MS-DOS-тан бастап файлдық жүйенің құрылу негізгі принциптері онша өзгермеген. Windows98 және Windows2000-пайда болған FAT32 және NTFS файлдық жүйелері файлдың басты түсініктерін өзгертпейді.
Файл –
Файлмен жұмыс істеу үшін ең алдымен файл туралы ақпараттар бар
кешенін ашу керек, яғни инициализациялау керек.
Кез келген файлдың атауы бар, ол файлға программада бірнеше файлдармен жұмыс істеуге мүмкіндік береді. Файлда кез келген типтердің мәліметтері сақталуы мүмкін, яғни текстік файлды құруға және онда сондай типті файлды сақтауға болмайды.
Жалпы берілген жұмыс бірнеше бөлімнен тұрады. Есептің қойылымында берілген есепке бірнеше модульдер мен функциялар көмегімен программа құрылады. Жалпы есеп программасы файлға байланысты болғандықтан, файлмен құрылады.
Жұмыстың келесі бөлімі программаны жобалау бөлімі, мұнда программада файлға байланысты көрсеткіштер мен функцияларға анықтама беріледі.
Программаны жүзеге асыру барысында есепте қолданылған функциялар мен көрсеткіштердің сипатталуына, қолдану мақсатына тоқталамыз. Жалпы есептегі функциялардың орындалу алгоритмі көрсетіледі.
Программаны тестілеу бөлімінде программаны тексеру әдістемесі орындалады.
Және де қорытынды бөлімінде жалпы программада алынған нәтижелерге қорытынды жасалады.
Берілген есепте программаны екіге бөліп құрастыруға болады, яғни бірінші бөлімінде белгілі файл құрылып, мәліметтерді сонда енгіземіз. Екінші бөлімінде осы мәліметтер арқылы есеп шарты бойынша өзімізге керекті жауапты ала аламыз.
1. Герберт Шилдт, “С++ руководство для начинающих”, Москва
2005 жыл;
2. Н.Культин, “С++ в примерах и задачах” Петербург-2008 жыл;
3. Н.С. Заурбеков, Б.Ж. Жұмажанов, “Алгоритмдеу және
программалау тілдері” Алматы-2008 жыл;
4. Интернет желісі: www.google.ru, www.bankreferatov.ru, www.yandex.ru.

Қазақстан Республикасы Білім және Ғылым министрлігі
Тұрар Рысқұлов атындағы Қазақ Экономикалық Университеті

“Қолданбалы информатика” кафедрасы

КУРСТЫҚ ЖҰМЫС
Тақырыбы: “Си тіліндегі файлдармен жұмыс”

Орындаған: Алимжанова Е.
Тексерген: Жұмажанов Б.Ж.

Мамандығы: АЖ
Тобы: 201

АЛМАТЫ 2008 ЖЫЛ
МАЗМҰНЫ

Кіріспе
1. Си тіліндегі файл ұғымы
2. Есептің берілгені
3. Си тіліндегі функциялар
4. Функциялардың сипатталуы
5. Функцияның орындалу алгоритмі
Қорытынды
Пайдаланылған әдебиеттер
Программа листингі

КІРІСПЕ

Жалпы программалық технологиялар дамуымен біз көлемді және қиын
мәліметтерді өңдеуге және жіберуге мүмкіндік аламыз. Олардың 90% файлдарда
орналасқан.
Файлдарды қолдану үшін жұмысшыға қосымша есептер шығаруға тура
келеді. Олардың негізгісі – белгілі бір файлды іздеп табу арқылы енгізу-
шығару операцияларын орындау.
MS-DOS-тан бастап файлдық жүйенің құрылу негізгі принциптері онша
өзгермеген. Windows98 және Windows2000-пайда болған FAT32 және NTFS
файлдық жүйелері файлдың басты түсініктерін өзгертпейді.
Файл –
Файлмен жұмыс істеу үшін ең алдымен файл туралы ақпараттар бар
кешенін ашу керек, яғни инициализациялау керек.
Кез келген файлдың атауы бар, ол файлға программада бірнеше
файлдармен жұмыс істеуге мүмкіндік береді. Файлда кез келген типтердің
мәліметтері сақталуы мүмкін, яғни текстік файлды құруға және онда сондай
типті файлды сақтауға болмайды.
Жалпы берілген жұмыс бірнеше бөлімнен тұрады. Есептің қойылымында
берілген есепке бірнеше модульдер мен функциялар көмегімен программа
құрылады. Жалпы есеп программасы файлға байланысты болғандықтан, файлмен
құрылады.
Жұмыстың келесі бөлімі программаны жобалау бөлімі, мұнда программада
файлға байланысты көрсеткіштер мен функцияларға анықтама беріледі.
Программаны жүзеге асыру барысында есепте қолданылған функциялар мен
көрсеткіштердің сипатталуына, қолдану мақсатына тоқталамыз. Жалпы есептегі
функциялардың орындалу алгоритмі көрсетіледі.
Программаны тестілеу бөлімінде программаны тексеру әдістемесі
орындалады.
Және де қорытынды бөлімінде жалпы программада алынған нәтижелерге
қорытынды жасалады.
Берілген есепте программаны екіге бөліп құрастыруға болады, яғни
бірінші бөлімінде белгілі файл құрылып, мәліметтерді сонда енгіземіз.
Екінші бөлімінде осы мәліметтер арқылы есеп шарты бойынша өзімізге керекті
жауапты ала аламыз.

Есептің берілгені. F файлы берілген. Бұл файлда мекеменің телефон
нөмірлері жазылған: жұмысшының аты-жөні және телефон нөмірі көрсетілген.
Жұмысшының аты-жөні арқылы телефон нөмірін табу керек.
Яғни есепті файлмен шығару керек. Ол үшін файлда бірнеше функциялар
қолданылады. Осы функциялар арқылы есепті екі программа түрінде шығаруға
болады. Яғни мұнда екі программа құрылуы тиіс. Бірінші программада арнайы
файл құрылады. Бұл файлға есептің берілгені бойынша мәліметтерді енгізу
керек

Си тіліндегі файлдармен жұмыс

С тілінде файл ағыммен байланысу арқылы ашылады. Өзіміз білетіндей,
ағымның үш типі бар: енгізу, шығару және енгізу-шығару. Енгізу ағымын ашу
үшін ifstream обьект типін ашамыз. Шығару ағымын ашу үшін ofstream ағым
класын қолданамыз. Ал енгізу-шығару операциясы үшін обьект класы ретінде
fstream с қолданылады.
Файлды ашу үшін fopen функциясы қолданылады. Оның жалпы түрі
төмендегідей:

fp=fopen(“t.txt”,”r”);

Мұндағы t.txt – ағыммен байланысқан файл аты;
r – файлмен жұмыс істейтін әдістердің сипатталуы.
Жалпы файлды келесі әдістердің біреуімен ашуға болады:
“w” - жаңа текстік файл жазу үшін ашылады. Егер файл бұрын болса,
онда алдыңғысы өшіріліп, жаңа файл құрылады.
“С” тілінде файлдарды ашуға арналған келесі әдістер қолданылады:

Символ Описание
r Файл оқу үшін ашылады. Егер керек файл дискіде жоқ болса,
онда қате жіберіледі.
w Файл тек жазу үшін ашылады. Егер берілген файл жоқ болса,
онда жаңа файл файл құрылады, егер файл бар болса, онда
ашылу кезінде алдыңғы файл жойылады.
a Файл оған қосымша ақпарат қосылу үшін ашылады.
r+ Файл оқу және жазу үшін ашылады.
w+ Егер файл бар болса, онда алдыңғысы өшіріледі. Келесі рет
файл оқу және жазу үшін ашылғанда, файл ұлғаяды.
а+ Файл оның кез кедген жерінде оқу және жазу үшін ашылады.
T Файл текстік режимде ашылады. r,w,a,r+,w+,a+ полялары
ашылады.
В Файл екілік режимде ашылады.

Файлды текстік немесе екілік режимде ашуға болады.
Файлға жазған уақытта текстік режимде қатардың жаңа символы “\n” СR
және LF жүйемен алмасады.
Егер ағыммен байланысқан файлды текстік емес, еркін екілік мәліметті
сақтасақ, онда көрсетілген өзгертулер керек болмайды. Мұндай өзгертулерсіз
алмасу екілік немесе бинарлы режимді таңдағанда орындалады, ол b әрпімен
белгіленеді. Мысалы, “r+b” немесе “wb”. Кейбір компиляторларда текстік
алмасу режимі “t” әрпімен белгіленеді, яғни “a+t” немесе “rt”.
Егер ағым өзгерту үшін ашылған болса, яғни режим параметрінде “+”
символы кездессе, онда файлды енгізуге және оқуға мүмкіндік беріледі.
Алайда алмасу режимі ағым көрсеткіші белгілі позицияда орнатылғаннан кейін
орындалады.
Ағымды ашқанда мынадай қателер болуы мүмкін: (оқу режимі үшін),
ағыммен байланысқан файл табылған жоқ; диск толтырылған, т.б. Сонымен
бірге мынаны ескеру қажет, fopen() функциясын орындалған кезде динамикалық
жады бөлінуі орындалады. Ол болмаған жағдайда, “Not enough memory” (жады
жетіспейді) қатесі орындалады. Көрсетілген жағдайларда ағымға NULL
көрсеткіші келеді. Көрсеткіштің кез келген режимде екені байқалғанда, ағым
ешқашанда NULL тең болмайды.

Мысалы:

if ((fp = fopen(“t. txt”, “w”)) == NULL)
{
perror (“Ошибка при открытия файла t. Txt\n ”);
exit(0);
}

Мұндағы NULL – stdio.h файлындағы белгілі нөлдік көрсеткіш.
Дисплей экранына қате туралы хабарламаны шығару үшін ағымды ашу
кезінде perror() стандартты библиотекалық функциясы қолданылады.
Жалпы файлды ашқаннан кейін оған мәліметтерді жазуға, яғни жұмыс
істеуге болады.
Дискіде файлды ашқаннан кейін әлбетте оны жабу керек. Ол үшін
библиотекеалық функция

int fclose(ағымға_көрсеткіш);

Ашылған файлды қайтадан ашуға болады, ең алдымен fclose() функциясы
көмегімен жабу керек.
Текстік режимнің екілік режимнен айырмашылығы, файлды
текстік файл ретінде ашқанда, символдар қатары бір символға ауысады.
Файлмен жұмыс істеп болғаннан кейін, файлды жабу керек. Файлды жабуды
С тілінде fclose функциясы атқарады.
Бірнеше файлды ашу үшін , келесі түрде берілген функуция енгізілген:

Void fcloseall(Void);

Егер файлға өту режимін өзгерту үшін ең алдымен берілген файлды
жауып, сосын қайтадан басқа жолмен ашу керек. Ол үшін стандартты freopen
функциясы қолданылады. Бұл функция stream ағымымен байланысқан файлды
жабады, сосын файлды filename атымен ашылады.

С тілінде сонымен қатар уақытша файлдармен жұмыс істеуге болады, яғни
жұмыс істеу кезінде ғана керек немесе есептеу бөлімін орындағаннан кейін
өшіруге болатын файлдар. Мұндай кезде tmpfile келесі түрде қолданылады:

FILE*tmpfile (void).

Tmpfile функциясы дискіде уақытша файлды құрады және көрсеткішті FILE
атрибутының типі бойынша басқару блогына қайтарады. Программамен жұмыс
аяқталғаннан кейін немесе уақытша файл жабылған соң ол автоматты түрде
жойылады.
Программа орындалған кезде, автоматты түрде бес ағым ашылады, олардың
негізгілері:
- енгізудің стандартты ағымы(stdin көрсеткішін қолдану арқылы);
- шығарудың стандартты ағымы (stdout);
- қателер туралы хабарламаны шығарудың стнадартты ағымы (stderr).
С тілінде мәліметтерді стандартты ағым көмегімен енгізу-шығару үшін
келесі функциялар анықталған:
- getchar()putchar() – жеке символды енгізу-шығару;
- gets()puts() – жолды енгізу-шығару;
- scanf()printf() – мәліметтерді форматтау режимінде енгізу-шығару.

Жеке символдарды енгізу-шығару. Символдарды енгізу-шығарудың
ең тиімді жолы getchar() және putchar() библиотекалық функцияларының
қолдануымен іске асады. Getchar() және putchar функциялар прототипі келесі
түрде болады:

int getchar(void);
int putchar(int c);

Getchar() функциясы бір символдың енгізілуін жүзеге асырады.
Функцияны шақырған кезде ол функцияға енгізілген бір символды қайтарады.
Putchar() функциясы стандартты ағымға бір символды шығарады,
функцияны шақыру кезінде функцияға енді ғана шығарылған символды қайтарады.
Getchar() функциясының символды int типі бойынша енгізетініне назар
аударған жөн. Бұл файлдың соңына жету үшін жасалған.Себебі, getchar()
функциясының көмегімен файлды оқығанда, файл соңына жетуге болады. Бұл
жағдайда, символды оқу кезінде операциялық жүйе getchar() функциясының EOF
(End of file) тұрақтысын қайтарады. EOF көрсеткіші stdio.h файлында
анықталған, ол әр түрлі операциялар жүйелерінде 0 немесе 1 мәнін
қабылдайды. Сонымен бірге getchar() функциясы енгізу ағымында тек символды
ғана оқып қоймай, толық мәнді оқу керек. Осы мақсатпен getchar() функциясы
int типті мәнді қайтару керек.
Программаларда EOF тұрақтысын қолданғанда, программа белгілі
операциялық жүйеден тәуелсіз болады.
Getchar() және putchar() функциялары функция болып табылмайды, олар
макрос түрінде беріледі, және stdio.h файлында келесі түрде болады:

#define getchar() gets(stdin);
#define putchar(c) putc((c), stdout).

Си тіліндегі функциялар

F файлы берілген. Бұл файлда мекеменің телефон нөмірлері жазылған:
жұмысшының аты-жөні және телефон нөмірі көрсетілген. Жұмысшының аты-жөні
арқылы телефон нөмірін табу керек.
Программада main функциясы, stdio.h, conio.h көрсеткіштері, File
*out көрсеткіші ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
СИ тіліндегі файлдар және мәтіндік файлдар
Turbo Pascal жүйесінде файлдармен жұмысты ұйымдастыру технологиясы
Ядро және процестер
Дәріс кешені с/с++ тілдері
Си программалау тілі туралы ақпарат
Сұрыптау және іздеу тәсілдері
Паскаль және Си тілдері
Си бағдарламалау тілі
Паскаль программалау тіліне жалпы түсінік
Visual basic ортасында программалау
Пәндер