Virtojen uudelleenohjaaminen DOS-pohjaisessa.

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!
6469
Äänestä

Muut lukivat myös

Vastaukset 6

Vanhimmat

koittaisin asentaa cygwinin, ja googlettaa "unix opas", "linux opas" tms.. Sieltä etit putket ja tulosteen uudelleenohjauksen.

Äänestä
  • 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

    Äänestä

  • keksa1 kirjoitti:

    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

    Äänestä

  • keksa1 kirjoitti:

    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

    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.

    Äänestä

Käytä TFile: ä tarkoitukseesi sopivalla modella. That's it!

Äänestä

(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ää) >> ||

Äänestä

Kommentoi aloitusta


mielenkiito kirjoitti:

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!

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu