Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Macrouri de clasificare

c



+ Font mai mare | - Font mai mic



Macrouri    de clasificare

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



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 667
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved