Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C: Ohjelman tulosteen kirjoittaminen tiedostoon?

hanuri [16.11.2016 19:54:52]

#

Hei, minun pitäisi testata tekemääni ohjelmaa ja testien aikana syntyneet ohjelman tulostukset on tallennettava tiedostoon. Kaikki mitä ohjelman käyttäjä syöttää ohjelmaan olen saanut kirjoitettua tiedostoon, mutta miten saan tulosteet myös sinne?

Kiitos.

fergusq [16.11.2016 21:58:50]

#

Jos ohjelma kirjoittaa standarditulosteeseen, voi tulosteen ohjata tiedostoon useimmissa komentotulkeissa >-merkillä. Vastaavasti <-merkillä voi antaa ohjelmalle syötteen.

# ohjelma lukee käyttäjältä syötettä. tuloste tallennetaan tiedostoon tuloste.txt
./ohjelma >tuloste.txt

# tiedoston syöte.txt sisältö annetaan ohjelmalle syötteenä. tuloste tallennetaan tiedostoon tuloste.txt
./ohjelma <syöte.txt >tuloste.txt

Metabolix [19.11.2016 15:12:38]

#

Yllä kuvattu tapa on yleensä paras. Jos tämä on jostain syystä pakko tehdä itse ohjelmassa, voit ohjata tulosteen ohjelman alussa näin:

freopen("tuloste.txt", "w", stdout);

Tiedosto olisi silloin myös hyvä sulkea ohjelman lopussa:

fclose(stdout);

Vastaus

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

Tietoa sivustosta