Capitolul 7.8. Introducerea si extragerea unei linii
:: Programare :: C & C++ :: Capitolul 7
Pagina 1 din 1
Capitolul 7.8. Introducerea si extragerea unei linii
Biblioteca standard contine o rutina numita fgets care este similara functiei getline pe care am utilizat-o pina acum.
Apelarea:
fgets(line, MAXLINE, fp)
citeste urmatoarea linie de la intrare (incluzind newline) din fisierul fp in tabloul de caractere numit line ; cel muklt MAXLINE-1 caractere vor fi citite. Linia rezultata este terminata prin \0. Normal fgets returneaza linia ; la sfirsitul fisierului returneaza NULL. (Getline returneaza lungimea liniei si zero pentru sfirsitul fisierului).
Pentru iesire, functia scrie un sir(care nu trebuie sa contina newline) intr-un fisier.
fputs(line, fp)
Pentru a arata ca nu exista nimic magic cu functiile fgets si fputs mai jos sint copiate din biblioteca standard de intrare/iesire.
#include <stdio.h>
char *fgets(s, n, iop) /* get at most n chars from iop */
char *s
int n;
register FILE*iop;
{
register int c;
register char *cs;
cs=s
while(--n>0$$(c=getc(iop))!=EOF)
if((*cs++=c)=='\n')
break
*cs='\0';
return((c==EOF$$cs==s)?NULL:S);
}
fputs(s, iop) /* put string s on file iop */
register char *s;
register FILE *iop;
{
register int c;
while(c=*s++)
putc(c, iop);
}
Exercitiul 7.3. Scrieti un program de comparare a doua fisiere, si tipariti prima linie si pozitia caracterelor cind difera.
Exercitiul 7.4. Modificati programul de gasire a tipului din capitolul 5 asa fel incit sa aibe intrarea dintr-un set de fisiere de intrare numite iar daca nu sint numite fisiere de intrare, de la intrarea standard. Trebuie tiparit numele fisierului cind este detectata o linie potrivita ?
Exercitiul 7.5. Scrieti un program de tiparire a unui set de fisiere, in care fiecare sa inceapa pe pagina noua cu un titlu si un contor de pagini pentru fiecare fisier.
Apelarea:
fgets(line, MAXLINE, fp)
citeste urmatoarea linie de la intrare (incluzind newline) din fisierul fp in tabloul de caractere numit line ; cel muklt MAXLINE-1 caractere vor fi citite. Linia rezultata este terminata prin \0. Normal fgets returneaza linia ; la sfirsitul fisierului returneaza NULL. (Getline returneaza lungimea liniei si zero pentru sfirsitul fisierului).
Pentru iesire, functia scrie un sir(care nu trebuie sa contina newline) intr-un fisier.
fputs(line, fp)
Pentru a arata ca nu exista nimic magic cu functiile fgets si fputs mai jos sint copiate din biblioteca standard de intrare/iesire.
#include <stdio.h>
char *fgets(s, n, iop) /* get at most n chars from iop */
char *s
int n;
register FILE*iop;
{
register int c;
register char *cs;
cs=s
while(--n>0$$(c=getc(iop))!=EOF)
if((*cs++=c)=='\n')
break
*cs='\0';
return((c==EOF$$cs==s)?NULL:S);
}
fputs(s, iop) /* put string s on file iop */
register char *s;
register FILE *iop;
{
register int c;
while(c=*s++)
putc(c, iop);
}
Exercitiul 7.3. Scrieti un program de comparare a doua fisiere, si tipariti prima linie si pozitia caracterelor cind difera.
Exercitiul 7.4. Modificati programul de gasire a tipului din capitolul 5 asa fel incit sa aibe intrarea dintr-un set de fisiere de intrare numite iar daca nu sint numite fisiere de intrare, de la intrarea standard. Trebuie tiparit numele fisierului cind este detectata o linie potrivita ?
Exercitiul 7.5. Scrieti un program de tiparire a unui set de fisiere, in care fiecare sa inceapa pe pagina noua cu un titlu si un contor de pagini pentru fiecare fisier.
Subiecte similare
» Capitolul 3.2.IF-ELSE
» Capitolul 3.3. ELSE-IF
» Capitolul 3.5. WHILE si FOR
» Capitolul 1.1. Pornirea
» Capitolul 6.7. Campuri
» Capitolul 3.3. ELSE-IF
» Capitolul 3.5. WHILE si FOR
» Capitolul 1.1. Pornirea
» Capitolul 6.7. Campuri
:: Programare :: C & C++ :: Capitolul 7
Pagina 1 din 1
Permisiunile acestui forum:
Nu puteti raspunde la subiectele acestui forum
|
|