Elikkäs tarkoituksena olisi tehdä seuraavat temput:
1) Saada ohjelma kirjoittamaan "Hello World!" tekstitiedostoon
2) Saada tekstitiedosto antamaan ohjelmalle "Hello World!" (esim. gets()-funktiolle)
Ymmärtääkseni se tehdään DOS:ssa jotenkin näin:
1) ohjelmannimi > tekstitiedosto.txt
2) ohjelmannimi < tekstitiedosto.txt
olettaen tietenkin, että ohjelma tulostaa jotain ja että tekstitiedostossa on tuo Hello World jne.,
mutta onko tässä koko tarina? Kun kirjoitan komennot sanoo se, että Määritettyä tiedostoa ei löydy,
tai Käyttö estetty.
Jakakaas viisaat tiedon helmiä ja selittäkää minulle tämä skenaario!
1) Saada ohjelma kirjoittamaan "Hello World!" tekstitiedostoon
2) Saada tekstitiedosto antamaan ohjelmalle "Hello World!" (esim. gets()-funktiolle)
Ymmärtääkseni se tehdään DOS:ssa jotenkin näin:
1) ohjelmannimi > tekstitiedosto.txt
2) ohjelmannimi < tekstitiedosto.txt
olettaen tietenkin, että ohjelma tulostaa jotain ja että tekstitiedostossa on tuo Hello World jne.,
mutta onko tässä koko tarina? Kun kirjoitan komennot sanoo se, että Määritettyä tiedostoa ei löydy,
tai Käyttö estetty.
Jakakaas viisaat tiedon helmiä ja selittäkää minulle tämä skenaario!
Vastaukset 6
Vanhimmat
koittaisin asentaa cygwinin, ja googlettaa "unix opas", "linux opas" tms.. Sieltä etit putket ja tulosteen uudelleenohjauksen.
Kohta yksi onnistuu ihan sillä, että tekemäsi ohjelma tulostaa jotain tekstiä. Hakasulku ohjaa tulosteen tuohon tiedostoon.
Jos tulee jotain "Käyttö estetty", niin olet hakemistossa johon et saa kirjoittaa tms.
Jos tulee "Määritettyä tiedostoa ei löydy", niin olet jossain eri hakemistossa kun tekemäsi ohjelma.
Kohta kaksi hoituu sillä, että luet stdin-virtaa niin kauan, että tulee end of file eli EOF
ei ole olemassa tiedostoa tekstitiedosto.txt ja yrität lukea sitä ohjelmaasi
No vaikka siksi, että Dos on historiaa. Tuollainen shelliputkitus tehdään sh -yhteensopivilla komentoriveillä.
Cygwin ei ole pakollinen Windowsin käyttäjälle, itse ottaisin Microsoftin oman unix alijärjestelmän ennemmin mutta fiksuinta olisi kyllä käyttää ihan oikeata unixia eikä mitään Windowsia.
Käytä TFile: ä tarkoitukseesi sopivalla modella. That's it!
(C ) fstream on kanttaluokka...Siitä on periytetty sitten ofstream ja ifstream. Tolla luulis jo pääsevän pitkälle.
Ja pysytele niillä ohjelmointi tunneilla jos olet ne kerran valinnut.
(C) FILE (mutta siinä ei voi käyttää) >> ||