Какое начальное содержимое текстового потока?
строка 9 → Какое начальное содержимое текстового потока?
#include <fstream>
#include<sstream>
#include "osobniki.h"
Srodowisko Srodowisko::czytajZPliku(std::string nazwaPliku)
{
std::ifstream plik(nazwaPliku);
std::stringstream tekst("");
if(plik){
tekst << plik.rdbuf();
plik.close();
}
std::string zapis = tekst.str();
unsigned int wiersze=0, kolumny=0;
bool pierwszaLinia = true;
for(char c : zapis){
if(c!='\n'){
if(pierwszaLinia && c !=' ') kolumny++;
} else{
pierwszaLinia = false;
if(c=='\n') wiersze++;
}
}
Srodowisko srodowisko(wiersze,kolumny);
char glon = UstawieniaSymulacji
::pobierzUstawienia().znakGlon;
char grzyb = UstawieniaSymulacji
::pobierzUstawienia().znakGrzyb;
char bakteria = UstawieniaSymulacji
::pobierzUstawienia().znakBakteria;
char pusta = UstawieniaSymulacji
::pobierzUstawienia().znakPustaNisza;
char znak;
for(unsigned int w=0; w<wiersze; w++){
getline(tekst,zapis);
for(unsigned int k=0; k<2*kolumny; k+=2){
znak = k<zapis.size() ? zapis[k] : pusta;
if(znak==glon)
srodowisko.lokuj(new Glon(),w,k/2);
else if(znak==grzyb)
srodowisko.lokuj(new Grzyb(),w,k/2);
else if(znak==bakteria)
srodowisko.lokuj(new Bakteria(),w,k/2);
}
}
return srodowisko;
}