Könyvtári függvények I. Input / output kezelés függvényei

Slides:



Advertisements
Hasonló előadás
Manapság a számítógép legfontosabb kiviteli egysége (perifériája) a televíziókhoz hasonló számítógép- képernyő vagy monitor. A monitort egy kábel köti.
Advertisements

LEgyméretű tömbök, vektorok Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 17./0. lVektorok definiálása lVektorok definiálása kezdőértékekkel.
Típusok, változók, konstansok
LFüggvények Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 20./0. lFüggvények deklarációja és prototípusa lA függvénydefiníció lHivatkozás.
LRendezés minimális elem kiválasztással Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 19./0. lAz algoritmus működése lRávezető feladat.
Cells(sor száma, oszlop száma)
Programozási Nyelvek (C++) Gyakorlat Gyak 03.
Sztringek.
Sztringek  Az fscanf() és a fprintf() függvényeknél a %s-es formátumtagot kell használni.  A %s formátumtag az első white space karakterig folytatja,
Informatikai eszközök
Bevezetés a Java programozásba
Bevezetés a Java programozásba
Bevezetés a Java programozásba
10. előadás (2004. április 20.) A C előfordító (folytatás) Néhány hasznos compiler opció Egy tanulságos könyvtári függvény Változó hosszúságú argumentum.
1 Programozás alapjai GEIAL312B (ANSI C) BSc (Bachelor of Science) / Alap képzés 2005/2006. őszi félév Miskolci Egyetem Általános Informatikai Tanszék.
7. előadás (2005. április 12.) Láncolt lista File kezelés 1.
4. előadás (2005. március 8.) Pointerek Pointer aritmetika
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 9. Gyakorlat Alap file műveletek.
Borland C/C++ mintapéldák
Borland C/C++ mintapéldák tömbökre
Borland C/C++ mintapéldák függvényekre. 1. példa Írjunk olyan függvényt amely egy számot kiirat.
Borland C/C++ mintapéldák fájlokra. 1. példa Írjon olyan programot,amely megnyit egy hw.txt fájlt és írja bele a Hello világ szöveget. Ez után zárja le.
Programozás I. Horváth Ernő 1. Elérhetőségek Bauer Péter Horváth Ernő Tanszéki honlap
Programozás I. Horváth Ernő 1. Elérhetőségek Bauer Péter Horváth Ernő Tanszéki honlap
LDinamikus tömbök, kétdimenziós tömbök Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 21./0. lVektorok létrehozása futásidőben, dinamikusan.
Utasítások, elágazás- és ciklusszervezés C nyelvi utasítások
WEB Technológiák Dr. Pance Miklós – Kolcza Gábor Miskolci Egyetem.
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
C++ alapok, harmadik óra
Számítógépes alapismeretek Beadandó 2010
Rendszer és Szoftvertechnológia Tanszék
Programozás I. Adatállományok dr Póder Margit f. docens Rendszer és Szoftvertechnológia Tanszék.
További vektor, mátrix algoritmusok
Operációs rendszerek gyakorlat 9. Gyakorlat Vakulya Gergely.
P ROGRAMOZÁS I/O műveletek. S YSTEM.C ONSOLE A programjainknak fontos része a felhasználóval való kommunikáció. Adatokat kell kérni tőle, vagy közölnünk.
Programozás Az adatokról C# -ban.
Az operációs rendszereK
Operációs rendszer.
Grafikus tervezőrendszerek programozása 8. előadás.
Készítette: Vígh Zoltán 2008
Összetett adattípusok a Pascal nyelvben
Tömbök és programozási tételek
Programozási nyelvek, Pascal
Fájlkezelés Pascalban
Szintaktikai, szemantikai szabályok
1.3. Pascal program felépítése Az els ő program. Program ; … Begin … End. Program fej Deklarációs rész Végrehajtó rész.
1.4. Fordítás, szerkesztés, az objektumkönyvtár használata.
Készítette: Csíki Gyula
A képernyő kezelése: kiíratások
Balaton Marcell Balázs
Input – output, adatfolyamok
Java programozási nyelv Filekezelés
Objektum orientált programozás
Objektum orientált programozás
Az operációs rendszer feladata
A Monitor. AszámítógépAszámítógép legfontosabb kiviteli egysége (perifériája) a televíziókhoz hasonló számítógép-képernyő vagy monitor. A monitort egy.
Fontos tudnivalók A MATLAB egy fajta objektummal dolgozik (Mátrix)
C Programozási alapok.
A 2. géptermi beszámoló VBA anyagának összefoglalása
Excel programozás (makró)
Fájlkezelés Programozási tételek
Struktúrák a C nyelvben 1 Akkor használjuk, ha az egy egyedre jellemző különböző típusú adatokat együtt akarjuk tárolni. Lényegében típusdeklaráció. A.
Bemeneti perifériák Készítette: Szabóné Lukács Éva.
Informatikai gyakorlatok 11. évfolyam
Bemeneti perifériák.
Programozási alapismeretek
Ubuntu – ismerkedés Fájlok és könyvtárak
A struct, az union és az enum típus
Konverziós operátorok
Típusok, változók, konstansok
Előadás másolata:

Könyvtári függvények I. Input / output kezelés függvényei Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 29./0. Könyvtári függvények I. Input / output kezelés függvényei Képernyőkezelés karakteres üzemmódban Adatkonverziós függvények

Input / output kezelés függvényei Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 29./1. Input / output kezelés függvényei A C nyelvben az input / output perifériák, mint pl. a billentyűzet, karakteres képernyő, karakteres nyomtató, egyéb párhuzamos és soros kapcsolódási felületet használó egységek (szalagegység, lyukszalagolvasó / lyukasztó, rajzgép, stb.) kezelése a szabványos szinten nem tér el a fájlok karakterfolyamos (stream) elvű kezelésétől, azaz az adatátvitel a számítógép és a periféria között fájlok írásával és olvasásával valósul meg. DOS operációs rendszeren üzemeltetve, a C program indítása pillanatában definiál öt szabványos fájlnevet és megnyitja a hozzájuk rendelt "fájlokat", azaz perifériákat, amelyeket azonnal használhatunk a megszokott karakterfolyam-kezelő függvényekkel.

Ezek a standard logikai fájlnevek a következők: Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 29./2. Ezek a standard logikai fájlnevek a következők: Név Periféria Irány stdin billentyűzet (átirányítható) input stdout képernyő (átirányítható) output stderr képernyő (hibaüzenetek) output stdaux 1. soros kommun. csat. (COM1) i / o stdprn 1. nyomtató port (PRN, LPT1) output

<karakterváltozó> = getchar() putchar( <karakterváltozó> ) Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 29./3. A szabványos fájlnevek szöveges állományokat jelölnek. Ezen szabványos input és output adat­folyamok kezelésére a már korábban megismert printf(), scanf() függvényeken, valamint a fájlok folyamszintű kezelésének függvényein túl ismerjünk meg két pár, a billentyűzet és a képernyő kezelésére szánt lehetőséget: A getchar( ) és a putchar( ) makrók egyetlen karakternek a billentyűzetről való bekérésére, ill. a képernyőre való kiírására alkalmasak. Formájuk: <karakterváltozó> = getchar() putchar( <karakterváltozó> )

#include <stdio.h> // Karakterek másolása a Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 29./4. A getchar(), szemben a getch() függvénnyel, pufferelt inputot végez, sorvégként kezeli az Enter karaktert és a Ctrl+Z, Enter billentyű­kombinációra -1 == EOF értéket ad, ilymódon alkalmas szövegfájloknak a billentyűzetről történő bevitelére. Pl.: #include <stdio.h> // Karakterek másolása a main() // billentyűzetről a képernyőre { int bill; // Ctrl+Z, Enter nyomásáig while ( (bill = getchar() ) != EOF ) // EOF == -1 putchar( bill ); }

#include <conio.h> Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 29./5. Az előző ciklus leállításához a getch() függvény alkalmazása esetén az EOF karaktert, azaz a '\x1A' karaktert kell megadnunk, és a bill változót elegendő char típusúra definiálni: #include <conio.h> #include <stdio.h> // Karakterek másolása a main() // billentyűzetről a képernyőre { char bill; // Ctrl+Z nyomásáig while ( ( bill = getch() ) != '\x1A' ) putchar( bill ); }

gets(<karaktervektor_név>) puts(<szöveg>) Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 29./6. Sztringek beolvasása a szabványos inputról (billentyűzetről) a gets() függvénnyel, kiíratása a szabványos outputra (képernyőre) a puts() függvénnyel végezhető. Bár a kiiratásra alkalmas a printf() függvény is, szóközökkel tagolt sor beolvasására a scanf() függvény nem alkalmas. Eltérés még, hogy a gets() a sort lezáró Enter hatására keletkező '\n' karaktert '\0' karakterré, a puts() pedig vissza, a '\0' karaktert '\n' karakterré alakítja, azaz a kiírás végén a következő sor elejére lép. Formájuk: gets(<karaktervektor_név>) puts(<szöveg>)

#include <stdio.h> main() { Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 29./7. Példa: #include <stdio.h> main() { char svekt[128]; // +1 hely kell a '\0' karakternek puts("Legfeljebb 127 karakteres szöveg \  beadása, lezárás Enter-rel:"); gets(svekt); puts(svekt); // a szöveget azonosíthatja a vektornév is }

Képernyőkezelés karakteres üzemmódban Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 29./8. Képernyőkezelés karakteres üzemmódban A Borland C támogatja a képernyő karakteres és grafikus üzemmódban való használatát egyaránt. A grafikus könyvtár függvényei gyakorlatilag megegyeznek a Borland Pascal grafikus alprogramjaival. A továbbiakban csak a képernyő karakteres üzemmódban történő használatával foglalkozunk. Képernyő- és ablakkoordináták: x2,y2 x1,y1 y x oszlop 25 80 sor 1

textbackground(<HSZIN>) Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 29./9. A <conio.h> headerfájl által deklarált képernyőkezelő függvények többsége csak a Borland C nyelvben használható. A képernyőn ablakot hozhatunk létre a képernyő-koordinátarend-szerben mérendő x1, y1 és x2, y2 sarokkoordináták megadásával: window(x1, y1, x2, y2 ); Az ablak tartalmát a textbackground(<HSZIN>) függvénnyel megadott háttérszínűre törölhetjük a clrscr(); függvénnyel. A <HSZIN> konstans értéke a 0 - 7 intervallumból vehető. A kiírt karakterek színét a textcolor(<KSZIN>); függvénnyel adhatjuk meg, ahol <KSZIN> értéke a 0-15 közül választandó.

A kurzort az aktuális ablak koordinátarendszerében a gotoxy( x, y); Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 29./10. A kurzort az aktuális ablak koordinátarendszerében a gotoxy( x, y); függvénnyel pozicionálhatjuk, az x = wherex(); y = wherey(); függvényekkel lekérdezhetjük. Teljes képernyőtől kisebb ablakba adatokat a printf() függvénnyel azonosan paraméterezendő cprintf(<formátumsztring>,<értékek_listája>); függvénnyel írathatunk ki. Sztring kiírásához használhatjuk a cputs(<szöveg>); függvényt is.

Adatkonverziós függvények Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 29./11. Adatkonverziós függvények Különböző típusú számok és szöveges alak közötti átalakításra alkalmazható függvénypáros az sprintf() és az sscanf(), melyek alakja: sprintf(<karaktervektor_név>,<formátumsztring>, <adatok_listája>) sscanf(<számok_szövegalakban>, <formátumsztring>, <változók_címeinek_listája>)

#include <stdio.h> main() { float szam = -123.456 ; Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 29./12. Pl.: #include <stdio.h> main() { float szam = -123.456 ; char szovegalak[ 8 ] = "98.765"; char string[ 28 ]; sprintf(string, "%d %f", 12, szam ); sscanf(szovegalak, "%f", &szam ); printf( "szám=%f\n", szam ); // 98.765 puts(string ); // 12 -123.456 }

Az angol kisbetűk nagybetűvé alakítására alkalmas a Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 29./13. Az angol kisbetűk nagybetűvé alakítására alkalmas a toupper(<kisbetű>) függvény. Pl.: nagyp = toupper( 'p' ); Szövegalakban adott számértéket konvertálnak int, long int, ill. double típusú numerikus alakúvá a következő függvények: atoi( <szövegalak> ) atol( <szövegalak> ) atof( <szövegalak> ) Pl.: egesz = atoi ("-23"); hosszuegesz = atol("123456"); char s[12] = "-45.987"; duplapontos = atof(s);

A fordított, numerikus alakból szövegalakra konvertálás függvényei az Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 29./14. A fordított, numerikus alakból szövegalakra konvertálás függvényei az itoa(<egész>,<szövegalak>,<alapszám>); ltoa(<hosszúegész>,<szövegalak>,<alapszám>); gcvt( <duplapontos>, <digitek>,<szövegalak>); Pl.: itoa(egesz, s1, 10); ltoa(987456, s2, 10); gcvt(-645.65, 8, s3);