1 / 6

1. Redirekcija Ulazno-izlazni uređaji i programski jezik C.

1. Redirekcija Ulazno-izlazni uređaji i programski jezik C. Standardni ulazno-izlazni uređaji (tastatura i ekran) se tretiraju kao datoteke koje se automatski otvaraju za svaki program.

dyre
Download Presentation

1. Redirekcija Ulazno-izlazni uređaji i programski jezik C.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 1. Redirekcija Ulazno-izlazni uređaji i programski jezik C. Standardni ulazno-izlazni uređaji (tastatura i ekran) se tretiraju kao datoteke koje se automatski otvaraju za svaki program. Ulaz sa tastature se tretira kao tok podataka nazvan stdin, a izlaz na ekran kao tok podataka nazvan stdout. Funkcije getchar(), putchar(), printf() iscanf()su deo standardnog ulazno-izlaznog paketa i one operišu nad ovim tokovima. Način rada sa standardnim ulazom-izlazom je isti kao i rad sa ma kojim datotekama, tj. obrada ulazno-izlaznih podataka je jednoobrazna. Prilikom rada sa datotekama često je potrebno naznačiti kraj datoteke. za te svrhe se koristi kombinacija tastera CTRL/Z. (Z).

  2. Kod nekih Unix-sistema za kraj fajla koriti se kombinacija CTRL/D na početku linije. U programu se može koristiti konstanta EOF (definisana u biblioteci stdio.h) za prepoznavanje kraja fajla. Umesto da učitavamo podatke sa standardnog ulaza, možemo zahtevati da se podaci učitavaju iz ma koje datoteke. Slično, možemo zahtevati da se štampanje izvrši u neku datoteku, a ne na standardni izlaz. Proces preusmeravanja ulaza/izlaza naziva se redirekcija. Redirekcija se vrši sa komandne linije pomoću simbola < i > (operativni sistemi DOS i Unix). Kopira.cpp Demonstracija redirekcije. Pomoću operatora>> mogu se dodati podaci na kraj fajla. Pomoći operatora | (pipe) može se spojiti izlaz jednog programa sa ulazom drugog.

  3. 2. Argumenti sa komandne linije Već smo videli da se izvršni oblik C-programa može startovati sa komandne linije. Sa komandne linije se mogu zadati i argumenti programu. Pošto je main() funkcija, može imati argumente. Ali pošto je reč o specijalnijoj funkciji, može imati samo 0 ili 2 argumenta. (Neke implementacije dozvoljavaju i više, ali to nije prema standardu.) Do sada smo main koristili sa 0 argumenta. Ako se navedu 2 argumenta, prvi predtsvlja broj stringova u komandnoj liniji (tradicionalno se označava sa argc, ali ne mora tako), a drugi argument je niz stringova. Stringovi u 2. argumentu se razdvojaju blanko-simbolom. String sa indeksom 0 je ime samog programa.

  4. KomArgs.cpp Za deklaraciju zaglavlja main-funkcije može se koristiti i pokazivačka verzija: int main(int brarg, char **niske) Ako želimo da u string uključimo blanko-simbol, kod većine implementacija dozvoljeno je korišćenje navodnika za odvajanje stringova. Spoj.cpp Provera.cpp

  5. 3. Konverzija stringova u brojeve Brojevi mogu biti zapisani (smešteni u memoriju) kao numerički podatak (potpuni komplement ili u obliku pokretne tačke) ili kao stringovi. Broj 452 se može predstaviti kao string koji se sastoji iz znakova: ‘4’, ‘5’, ‘2’ i’\0’. Pri računanju, poređenju, ... brojevi moraju biti u numeričkom obliku, ali pri štampanju se koristi stringovni zapia. (Opis %d prevodi numeričku vrednost u stringovni.) Ako želimo da prevedemo ceo broj zapisan kao string (na primer, učitan sa komandne linije) u numeričku vrednost, koristi se fujnkcija atoi() (for alphanumeric to integer). Ona ima string kao argument i vraća celobrojnu vrednost. Ova funkcija se nalazi u biblioteci stdlib.h i ova biblioteka treba da bude uključena ako se koristi funkcija atoi().

  6. Sabstr.cpp U stdlib.h su uključene i deklaracije funkcija atof() i atol()koje služe za prevođenje stringa u double, odnosno,long tip. Način arada sa ovim funkcijama je sličan kao i s afunkcijim atoi(). U C-u se mogu koristiti sofistiranije funkcije za ove svrhe: strtol()- prevodi string u long, strtoul()– prevodi string u unsigned long strtod()– prevodi string u double. Ove funkcije prepoznaju i prijavljuju prvi karakter u stringu koji nije deo broja. Takođe, strtol() i strtoul() omogućavaju da se navede osnova brojnog sistema. Na primer, funkcija strol() ima sledeći prototip: long strtol(const char *nptr, char **endptr, int base); Ovde se može koristiti baza brojevnih sistema do 36. Dugistr.cpp Mnoge implementacije C-a sadrže funkcije itoa()iftoa() za prevođenje numeričkih vrenosti (celobrojnih i u pokretnoj tački) u stringove, ali one nisu funkcije standardne ANSI C-biblioteke. Radi ostvarenja kompatiblinosti, bolje je koristiti funkciju sprintf().

More Related