Informatică, întrebare adresată de SMP, 9 ani în urmă

Cum se citește din fisier un text format din mai multe linii cu spatii si semne de punctuație atunci când nu se cunoaște lungimea, in c++?

Răspunsuri la întrebare

Răspuns de KindaBored
1
Sunt mai multe metode, eu unul citesc in acest mod:
#include <fstream> //biblioteca necesara
using namespace std;
ifstream fin("numeFisierDeIntrare.in");
ofstream fout("numeFisierDeIesire.out");
char v[256];
int main()
{
    while (fin.get(v,255))
    {
        cout<<v<<endl;
        fin.get();
    }
}



SMP: Dar.....,asta nu înseamnă că o să astepte să introduc 256 caractere? Sau......se completează implicit cu caracter null?
KindaBored: vectorul de charuri poate retine pana la 255 caractere(ultimul e intotdeauna NULL). Prin "fin.get(v,255)" se citeste in v tot cate o linie(in cazul in care o linie are mai putin de 255, poti mari limita, dar nu se da mai mult de cele mai multe ori).
SMP: ok,problema e că....la afisarea cu "cout<<" ,imi afișează doar prima linie,e din cauza metodei de afișare sau cin.get memorează doar prima linie?
KindaBored: Ideea este ca tu memorezi in v tot cate o linie, trebuie sa afisezi fiecare linie in parte daca la asta te referi.
SMP: intrebarea era dacă există vreo metodă sa citesc toate liniile odată? :D
KindaBored: Nu, din cate stiu eu, nu.
SMP: ok,oricum mulțumesc mult :)
KindaBored: My pleasure. Daca mai ai intrebari, nu ezita!
Alte întrebări interesante