Рад са бинарним датотекама

int fread (void *niz, int vel, int br, FILE *dat);

Ова функција чита из датотеке dat највише br података величине по vel бајтова у меморију почев од адресе niz. Читање података почиње на позицији где је претходни приступ датотеци завршен. По завршетку читања зауставља се непосредно иза последњег прочитаног бајта.

Дужност програмера је да води рачуна о логичкој структури датотеке, тј. о величини појединих података, њиховом броју и редоследу. У случају неусаглашености читања према ранијим уписивањима, добиће се, без икакве опомене, бесмислени подаци.
Вредност функције је стварни број прочитаних података. За испитивање успеха или неуспеха неопходно је да се користе функције feof и ferror. Карактеристичан случај, када је вредност функције мања од br је када нема довољно бајтова од тренутне позиције до краја датотеке.

int fwrite (const void *niz, int vel, int br, FILE *dat);

Ова функција пише br података величине по vel бајтова из меморије, почев од адресе niz у датотеку dat. Писање података почиње на позицији где је претходни приступ датотеци завршен. Уколико тренутна позиција није на крају датотеке, нове вредности се преписују преко затечених вредности у датотеци. Ако до краја датотеке нема довољно места за смештање свих података, писање се наставља иза краја датотеке. Тиме се повећава величина датотеке. По завршетку писања зауставља се непосредно иза последњег уписаног бајта.
Дужност програмера је да води рачуна о логичкој структури датотеке, тј. о величини појединих података, њиховом броју и редоследу. У случају неусаглашености при преписивању новог преко старог садржаја, оштетиће се, без икакве опомене, логичка структура датотеке.
Вредност функције је број пренетих података. Та вредност је у случају грешке мања од br.

Оставите одговор

Попуните детаље испод или притисните на иконицу да бисте се пријавили:

WordPress.com лого

Коментаришет користећи свој WordPress.com налог. Одјавите се /  Промени )

Google+ photo

Коментаришет користећи свој Google+ налог. Одјавите се /  Промени )

Слика на Твитеру

Коментаришет користећи свој Twitter налог. Одјавите се /  Промени )

Фејсбукова фотографија

Коментаришет користећи свој Facebook налог. Одјавите се /  Промени )

Повезивање са %s