Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Pochopenie toho, ako symbol EOF funguje prostriedky pochopenie toho , ako vstupný súbor funguje . Typicky , programátor načíta súbor do programu prostredníctvom ukazovateľa súboru . Použitie " stdio.h " knižnice , môže programátor použiť ukazovateľ súboru odkazovať na súbor v pamäti , a potom buď čítať alebo zapisovať do súboru . Nasledujúci príklad ukazuje, ako deklarovať a používať ukazovatele súboru : Spojené
# include " stdio.h " klipart
int main ( ) {
FILE * fp , //súbor ukazovateľ
fp = fopen ( " c : \\ \\ file.txt " , "r " ) //otvorí " file.txt " len pre čítanie , a používa FP ho odkazovať
Čítanie zo súboru
Programátor potom číta zo súboru . Nemôže to urobiť pomocou " fgetc ( ) " funkcia , ktorá bude čítať zo súboru jeden znak v čase. " Fgetc ( ) " funkcia vracia celočíselnú hodnotu , ktorá môže byť zmenený na znak programátorom vytlačiť na obrazovku alebo na akejkoľvek manipulácii je potrebné:
int ch = fgetc ( FP ) ,
printf ( " % c " , ( char ) , ch ) ;
Vnútorné Ukazovatele súbor
" fgetc ( ) " funkcia číta charakter , sa pohybuje interný ukazovateľ súboru vpred jeden priestor . To znamená , že súbor je len pre čítanie funkcií , súbor zostáva vždy pripravený na ďalšie čítanie . Ako vnútorný ukazovateľ súbor funguje , nie je dôležité pre programátora alebo funkciu . Čo je dôležité , je , že ukazovateľ súboru smerom dopredu počas úspešnej čítania , bude to nakoniec narazí na koniec súboru , to nie , napríklad , pokračujte v čítaní na súbor mimo veľkosti súboru v
. koniec súboru
ukazovateľ súboru prechádza finálnou charakter , je " fgetc ( ) " funkcia vráti záporné celočíselné hodnoty viazaná na makro s názvom " EOF " . Makro je predefinovanie hodnoty do viac čitateľnej forme . Programátor môže kontrolovať túto hodnotu pomocou " EOF " makro . Ak funkcia vráti hodnotu , programátor môže zastaviť čítanie súboru a vyhnúť sa chybám , ako v tomto príklade :
int c ;
while ( ( c = fgetc ( fp ) ) ! = EOF ) //ak c obsahuje hodnotu EOF , slučka sa prestať čítať klipart
{ klipart
putchar ( c ) ;
}