Ақпараттық технологияның қарқынды дамуна байланысты соңғы кездері программалауға деген қызығушылықтың арта түскені белгілі. Дк қолданудың ең негізгі облыстарының бірі бағдарламалау болып табылады


fgets және fputs функцияларын пайдалану



бет24/71
Дата04.10.2022
өлшемі1.36 Mb.
#461923
түріПрограмма
1   ...   20   21   22   23   24   25   26   27   ...   71
С тілінде программалау УМКД

fgets және fputs функцияларын пайдалану


Сөз тіркестерімен жұмыс істегенде fgets және fputs функциялары қолданылады:


fgets функциясының жалпы жазылу түрі:
fgets(нұсқауыш,MAXLEN,fp);
нұсқауыш – компьютер жадындағы орынға сілтейтін нұсқауыш; MAXLEN – оқылатын тіркестің максимальды ұзындығы; fp - файл нұсқауышы.
Мысалы:
#define L 20 main()
{
FILE *fp; char *st[n];
fp=fopen(“stroka”, ”r”); while(fgets(st, L, fp) != NULL) puts (st);
}

Файлдарға сөз тіркестерін жазу үшін fputs функциясы келесі түрде қолданылады:


status=fputs(қатар нұсқауышы, fp);
status – бүтін сан, оның мәні eof функциясында жазылады, егер fputs()функциясы файлдың соңына шыққан болса немесе қате тапса,
fputs функциясы жазылатын жолдың соңына /0 символын жазбайды.
Төменде осы функцияларды пайдалану мысалы келтірілген.
#include void main()
{
int n;
char str[50],str1[50],ch; FILE *fp;
// Файлға мәлімет жазу
fp = fopen("ex.txt","w");
puts("Бүтін сан енгізіңіз: "); scanf("%d",&n);
fprintf(fp,"%d\n",n);
puts ("Символ енгізіңіз: "); ch=getchar();
putc (ch, fp);
puts ("Сөз тіркесін енгізіңіз: "); gets(str);
fputs(str,fp); fclose(fp);
// Файлдан мәлімет оқу
if((fp = fopen("ex.txt","r")) != NULL)
{
fscanf (fp, "%d", &n); printf ("n=%d\n", n) ; ch = getc (fp); putchar (ch);
fgets(str1, 50, fp); puts (str1); fclose (fp);
} else printf ("\nФайлдан мәлімет оқылмайды!");
}
Мұндағы fgets()функциясының екінші параметрі N – оқылатын символдар саны, оған '\0' белгісі де қосылады. Бұл функция өз жұмысын N-1 символын оқығаннан кейін немесе '\0' белгісі кездескенде аяқтайды. Екеуінде де сөз тіркесі соңына '\0' белгісі қосылады. fgets() функциясы оқылған сөз тіркесі адресін қайтарады немесе файл оқылып болғанда (не қате шықса), NULL белгісін береді.
fputs() функциясы әрекет дұрыс орындалса, соңғы оқылған символ кодын қайтарады, ал қате болса, EOF (файл соңы) белгісін береді. Бұл функция курсорды автоматты түрде келесі жолға көшірмейді.
Жоғарыдағы функциялар файл мәліметтерін біртіндеп, символдан соң келесі символды қарастыра отырып өңдейді. С тілі файлдармен жиым сияқты жұмыс істеуге де мүмкіндік береді, яғни кез келген байтты жеке өңдеуге де болады. Файл ішіндегі белгілі бір орынды айқындау үшін мына функция қолданылады:
fseek(файлға нұсқауыш, бастапқы нүктеден ығысу, бастапқы нүкте);
Екінші аргумент типі long, оның мәні оң да, теріс те болуы мүмкін. Ол бастапқы нүктеден қанша орынға (байтпен) ығысу керек екендігін көрсетеді. Үшінші аргумент файлдағы бастапқы нүкте орнын анықтайтын код болып табылады. Осы код үшін мынадай мәндер тағайындалған:

  1. - файл басы;

  2. - ағымдағы позиция;

  3. - файл соңы.

Дұрыс орындалғанда, fseek() функциясы 0 мәнін береді, ал егер қате (мысалы, файлдың сол жақ шекарасынан ары аспақшы болғанда) болса, онда 1 береді.




Достарыңызбен бөлісу:
1   ...   20   21   22   23   24   25   26   27   ...   71




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет