Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++ tiedoston lukeminen moniulotteiseen taulukkoon

juhaz [12.05.2011 03:21:30]

#

Eli jos kuvitellaan, että minulla on tekstitiedosto, jonka sisältö on tälläinen

1,1,1,1,1
1,0,0,0,1
1,0,0,0,1
1,1,1,1,1

Tai vaihtoehtoisesti ilman pilkkua (kumpi vain on helpompi):

1 1 1 1 1
1 0 0 0 1
1 0 0 0 1
1 1 1 1 1

Miten luen tälläisen tekstitiedoston moniulotteiseen tauluun C++:lla? Yksi tapa tietysti olisi lukea rivi kerrallaan johonkin muuttujaan ja hajottaa se ja tallentaa sitten sinne moniulotteiseen tauluun, mutta c++:sta ei taida löytyä vakiona mitään siihen soveltuvaa komentoa, kuten php:ssä ja javassa.

Metabolix [12.05.2011 03:42:15]

#

Voit lukea rivin kerrallaan std::string-olioon std::getline-funktiolla ja sitten alustaa tämän rivin perusteella std::istringstream-olion ja lukea siitä yksittäiset luvut. Kannattaa käyttää jotain dynaamista tietorakennetta (std::vector, std::list) rivien tallentamiseen.

Ilman pilkkuja on helpompaa. Jos et tarvitse suuria lukuja, voit harkita myös yksittäisten merkkien käyttämistä ilman välejä. ASCII-merkit 33 (!) – 126 (~) ovat yleensä turvallisia.

Eräs versio ruudukon lukemisesta on PutkaRTS:n lähdekoodissa.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta