Ц ++ фсеек () - Ц ++ стандардна библиотека

Функција фсеек () у Ц ++ поставља индикатор положаја датотеке за дати ток датотека.

Функција фсеек () је дефинисана у датотеци заглавља.

прототип фсеек ()

 инт фсеек (ФИЛЕ * ток, дугачак помак, инт порекло);

Ако се датотека отвори у бинарном режиму, нова позиција показивача на датотеку је тачно одмакнута од бајтова.

Ако је датотека отворена у текстуалном режиму, подржане вредности за одступање су:

  • Нула: Ради са било којом вредношћу порекла, тј. СЕЕК_СЕТ, СЕЕК_ЦУР и СЕЕК_ЕНД.
  • Вредност враћена позивом на фтелл (стреам): Ради само са пореклом из СЕЕК_СЕТ.

Ако је ток широко оријентисан, примењују се ограничења и текстуалних и бинарних токова, тј. Резултат фтелла је дозвољен са СЕЕК_СЕТ и нулти помак је дозвољен из СЕЕК_СЕТ и СЕЕК_ЦУР, али не и СЕЕК_ЕНД.

Функција фсеек такође поништава ефекте унгетц и брише статус краја датотеке, ако је применљиво.

Ако се догоди грешка читања или писања, поставља се ферор и то не утиче на положај датотеке.

фсеек () параметри

  • ток: ток датотеке који треба изменити.
  • помак: број знакова које треба премјестити из исходишта.
  • порекло: положај који се користи као референца за додавање офсета. Може имати следеће вредности:
вредности порекла фсеек ()
Вредност Опис
СЕЕК_СЕТ Почетак датотеке
СЕЕК_ЦУР Тренутна позиција показивача датотеке
СЕЕК_ЕНД Крај датотеке

фсеек () Повратна вредност

  • По успеху функција фсеек () враћа нулу, у супротном није нула.

Пример: Како функционише функција фсеек ()?

 #include int main() ( FILE* fp = fopen("example.txt","w+"); char ch; fputs("Erica 25 Berlin", fp); rewind(fp); printf("Name: "); while((ch=fgetc(fp))!=' ') putchar(ch); putchar(''); printf("Age: "); fseek(fp,10,SEEK_SET); while((ch=fgetc(fp))!=' ') putchar(ch); putchar(''); printf("City: "); fseek(fp,15,SEEK_SET); while((ch=fgetc(fp))!=EOF) putchar(ch); putchar(''); fclose(fp); return 0; )

Када покренете програм, излаз ће бити:

 Име: Ерица Старост: 25 Град: Берлин

Занимљиви Чланци...