I / O la consola

Etapele standard ale bibliotecii stdio

Funcțiile I / O sunt situate în mai multe biblioteci, dintre care cele mai populare sunt stdio, conio, iostream.

Luați în considerare unele dintre funcțiile de bibliotecă ale bibliotecilor stdio și conio.







După conectarea bibliotecii stdio cu direcția #include la începutul programului, se deschid automat trei fire predefinite:

stdin - flux de date de intrare

stdout - flux de date de ieșire

stderr - debit de eroare

Implicit, aceste fire sunt asociate cu consola:

stdin - cu tastatură

stdout - cu terminal

Trebuie remarcat faptul că firele pot fi redirecționate către alte dispozitive, de exemplu, la un fișier.

Citirea și scrierea caracterelor

Cele mai simple funcții I / O ale consolei sunt funcțiile getchar () și getch (). care citesc caracterul de pe tastatură și funcția putchar (), care afișează caracterul de pe ecran. Toate aceste funcții au un singur argument (parametru), ceea ce înseamnă că pot afișa un singur obiect.

Funcțiile getchar () andgetch () returnează un întreg, al cărui octet inferior conține codul de caractere corespunzător tastei apăsate (octetul mare conține o valoare zero).

Dacă apare o eroare în timpul intrării, funcțiile returnează EOF constant (EOF este -1).

Formatul funcțiilor de intrare arată astfel:

int getchar (void)

Nu contează ce tip (char sau int) veți lua caracterul care urmează să fie introdus, care se datorează ambiguității datelor caracterului din C (vezi mai jos pentru dualitate). Rețineți că pentru a salva informațiile introduse, aveți nevoie de o operație de atribuire, deoarece funcțiile getch () și getchar () sunt tratate de program ca fiind valoarea variabilei introduse.

Cu toate acestea, în această privință se încheie similitudinea ambelor funcții, atunci ne vom ocupa de diferențele dintre ele. Prototipul funcției getchar () este în biblioteca stdio.h. Funcția getchar () introduce un caracter din șirul stdin, care are un buffer pe o singură linie. astfel încât să nu returneze nimic până nu apăsați tasta ENTER, în plus, getchar () efectuează imprimarea ecografică.







Prototipul funcției getch () este în biblioteca conio.h. Funcția getch () introduce un caracter din consola fără a tampona și a reda. Aceasta înseamnă că simbolul este disponibil în program de îndată ce este introdus de la tastatură.

#include #include

Pentru a scrie informații în simbol1. După introducerea primului caracter, apăsați ENTER. Cel de-al doilea caracter semnificativ va fi scris în variabila simbol2 imediat după ce este introdus din tastatură. Și primul simbol introdus vom vedea pe ecran, dar cel de-al doilea nu este. Pentru a verifica corectitudinea intrării, puteți folosi instrucțiunea:

printf ("\ nsim1 =% c sim2 =% c \ n", simbol1, simbol2);

Următorul exemplu arată cum să lucrați cu caracterul de caractere de caractere.

Un exemplu. Introduceți text de la tastatură, indicați sfârșitul intrării ca punct, calculați numărul de caractere introduse.

Rețineți că atunci când lucrăm cu text, folosind getchar (), nu primim un șir de caractere, pentru că nu există niciun caracter de sfârșit de linie '\ 0'. Pentru a nu încălca standardele limbii, trebuie să adăugați caracterul '\ 0' după terminarea textului.

void main ()

Prin urmare, adăugând '\ 0' la matricea z [] transformă un șir de caractere într-un șir.

Să ne referim la dualitatea datelor de caracter. Funcțiile I / O pentru datele de caractere au fost proiectate astfel încât să poată funcționa cu un tip de date întreg. Compilatorul în sine transformă datele de tip int în litere.

Exemplu: Dualitatea datelor de caractere

Deși variabila literei este definită ca un număr întreg, îi poate fi atribuit un caracter. Programul va fi compilat și executat fără erori. Dreptul de a alege dacă să folosiți variabile de tip char sau int. rămâne pentru tine.

Luați în considerare funcția de a trimite un caracter la consola - putchar (). Deși această funcție poate primi un argument întreg împreună cu caracterele, acesta poate trece numai valorile caracterului. Cu alte cuvinte, valorile întregului sunt tratate ca și coduri de caractere și, prin urmare, este afișat numai octetul cel mai puțin semnificativ al argumentului.

Funcția putchar () returnează un cod caracter sau o constantă EOF. dacă a apărut o eroare.

Formatul funcțieiputchar () arată astfel:

int putchar (int c)

Parametrul funcției poate fi:







Articole similare

Trimiteți-le prietenilor: