infoarena

infoarena - concursuri, probleme, evaluator, articole => Informatica => Subiect creat de: Plesa Mihail Iulian din Februarie 17, 2013, 13:37:46



Titlul: fisiere
Scris de: Plesa Mihail Iulian din Februarie 17, 2013, 13:37:46
Salut!
Care este cea mai rapida cale de a citi dintr-un fisier (fscanf sau cu freopen) ? Am citit tot pe infoarena ca cea mai rapida cale este cu freopen...insa nu stiu cum sa folosesc freopen. Puteti va rog sa imi dati un exemplu in care sa folositi freopen (un scurt porogram care sa citeasca ceva dintr-un fisier si sa afiseze in alt fisier) ? :)
Multumesc! :D


Titlul: Răspuns: fisiere
Scris de: Simoiu Robert din Februarie 17, 2013, 13:40:22
Eu stiu ca nu conteaza, sunt la fel de rapide.
Cod:
# include <cstdio>

int a, b;

int main (void) {
    freopen ("adunare.in", "r", stdin); // deschide in mod citire --- stdin + "r"
    freopen ("adunare.out", "w", stdout);// in mod afisare -- stdout + "w"
   
    scanf ("%d %d", &a, &b); // observi, scanf nu fscanf, ca si la citirea de la tastatura
    printf ("%d", a + b); // la fel, ca si afisarea pe ecran
   
    fclose (stdin), fclose (stdout);
}


Titlul: Răspuns: fisiere
Scris de: fdproxy din Februarie 17, 2013, 16:50:50
...(fscanf sau cu freopen)...

fscanf si freopen fac lucruri diferite.

Daca programezi in c++ foloseste streamurile din biblioteca standard (ifstream, ofstream). Unul din avantaje este ca se inchid automat la iesirea din blocul de executie.


Succes.


Titlul: Răspuns: fisiere
Scris de: Plesa Mihail Iulian din Februarie 17, 2013, 17:43:23
...(fscanf sau cu freopen)...

fscanf si freopen fac lucruri diferite.

Daca programezi in c++ foloseste streamurile din biblioteca standard (ifstream, ofstream). Unul din avantaje este ca se inchid automat la iesirea din blocul de executie.


Succes.
dar la multe probleme imi iese din timp cu ifstream :(


Titlul: Răspuns: fisiere
Scris de: Andrei Grigorean din Februarie 17, 2013, 17:48:50
Asta e vina noastra, nu a bibliotecilor din C++.


Titlul: Răspuns: fisiere
Scris de: Paul-Dan Baltescu din Februarie 17, 2013, 19:04:08
...(fscanf sau cu freopen)...

fscanf si freopen fac lucruri diferite.

Daca programezi in c++ foloseste streamurile din biblioteca standard (ifstream, ofstream). Unul din avantaje este ca se inchid automat la iesirea din blocul de executie.


Succes.

Nici cu freopen nu trebuie sa inchizi nimic.


Titlul: Răspuns: fisiere
Scris de: fdproxy din Februarie 17, 2013, 19:46:47
Nici cu freopen nu trebuie sa inchizi nimic.
Primul rezultat intors de Google: http://www.cplusplus.com/reference/cstdio/freopen/ (http://www.cplusplus.com/reference/cstdio/freopen/)


Titlul: Răspuns: fisiere
Scris de: fdproxy din Februarie 17, 2013, 20:06:27
dar la multe probleme imi iese din timp cu ifstream :(
Un exemplu ar fi util. Poate nu este folosit cum trebuie.