CATEGORII DOCUMENTE |
In aceasta clasa distingem un numar de macrouri simple care au o utilizare larga in prelucrarea simbolurilor. Definitiile acestor macrouri se afla in fisierul ctype.h
Unul dintre macrouri este denumit isascii si are prototipul:
int isascii (int c);
Macroul returneaza o valoare diferita de zero daca valoarea lui c apartine intervalului de numere intregi [0,127] si zero in caz contrar. Acest macrou permite sa se testeze daca valoarea parametrului sau reprezinta un cod ASCII sau nu.
Celelalte macrouri au prototipul urmator:
int nume (int c);
unde nume este unul din urmatoarele:
isalpha daca c este codul unei litere;
isalnum daca c este codul unei litere sau cifre;
isdigit daca c este codul unei cifre;
isgraph daca c este codul unui caracter imprimabil inclusiv spatiul;
islower daca c este codul unei litere mici;
isprint daca c este codul unui caracter imprimabil inclusiv spatiu;
isspace daca c reprezinta spatiu, tabulator, retur de car, rand nou,
tabulator vertical, salt la inceput de pagina de imprimanta.
isupper daca c este codul unei litere mari;
isxdigit daca c este codul unei cifre hexazecimale.
Exemplu:
Programul urmator citeste un fisier si il rescrie schimband literele mari cu litere mici. Caile spre cele doua fisiere (sursa si destinatie) sunt argumente in linia de comanda:
argv[1] este un pointer spre fisierul sursa;
argv[2] este un pointer spre fisierul destinatie.
#include <stdio.h>
#include <ctype.h>
void main ( int argc, char *argv[ ] )
if (( pf1 = fopen (argv[1],"r") ) = = NULL
if (( pf2 = fopen (argv[2],"w") ) = = NULL
while (( c = getc (pf1)) != EOF)
if (isascii(c) && isupper (c))
putc (c - 'A' + 'a', pf2); // c este codul unei litere mari
else
putc(c, pf2); // c este codul unei litere mici
fclose (pf1);
fclose (pf2);
// afisarea fisierului destinatie
if (( pf2 = fopen (argv[2], "r") = = NULL)
while ((c = getc(pf2)) != EOF) putchar (c);
fclose (pf2);
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 735
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved