Pseudotiedosto, takaisinkutsu: miten ???

uudelleenOhjaus_File

Alkuperäinen koodi:
--------------------------------------------------
if (bPrintTo_stdout)
{
f = stdout;
}
else
{
if (!(f = fopen(textFileName, "wb")))
{
showError("Couldn't open text file.");
exit(1);
}
}
--------------------------------------------------

Miten luodaan "Pseudotiedosto" ?

Siis siten, että kun myöhemmin koodissa kirjoitetaan tiedostoon/tiedostokahvaan f,

niin haluaisin, että kaikki "tiedostoon f" normaalisti menevä data sen sijaan aiheuttaakin kutsun takaisinkutsufunktioon:

void showF(const char *data, int datalength) {

// kun "tiedostoon f" kirjoitetaan, täsmälleen sama data, joka normaalisti

// kirjoitettaisiin tiedostoon, aiheuttaakin kutsun tähän funktioon, siten että:

// osoitinparametri data osoittaa kirjoitettavan datan ensimmäiseen tavuun ja

// kokonaislukuparametri datalength ilmoittaa, kuinka monta tavua on tarkoitus kirjoittaa.
}

Kääntäjänä gcc.

Onko siis mahdollista uudelleenohjata ohjelman sisällä kaikki kirjoitukset määrättyyn tiedostokahvaan todellisuudessa takaisinkutsufunktioon tiedoston sijasta, miten ?

0

63

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000

      Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

      Luetuimmat keskustelut

      1. En usko et meistä tulee jotain

        Se ei kuitenkaan estä toivomasta et tulisi. Toivon et voitas suudella ja se sais asioita loksahtamaan paikoilleen. Jutel
        Ikävä
        10
        2880
      2. Kuvaile itseäsi

        Kaivatullesi, niin että hän sinut tunnistaa.
        Ikävä
        115
        2145
      3. Eini paljastaa nuorekkuutensa salaisuuden - Tämä nousee framille: "Se on pakko, että jaksaa!"

        Discokuningatar Eini on täyttänyt upeat 64 vuotta. Lavoilla ja keikoilla nähdään entistä vapautuneempi artisti, joka ei
        Suomalaiset julkkikset
        43
        1554
      4. Huomenta keskipäivää

        Kivaa päivää mukaville ja söpösille. 🐺🫅❤️☕☀️
        Ikävä
        260
        1398
      5. Oletko koskaan katunut kun

        elämäsi tilaisuus jäi käyttämättä? 💔
        Ikävä
        70
        1013
      6. Olen J-mies

        Jos kerrot sukunimeni alkukirjaimen, ja asuinpaikkakuntani. Lupaan ottaa yhteyttä sinuun.
        Ikävä
        47
        911
      7. Sinusta näkee että

        Kaipaat paljon.
        Ikävä
        55
        884
      8. Ei sitten, ei olla enää

        Missään tekemisissä. Unohdetaan kaikki myös se että tunsimme. Tätä halusit tämän saat. J miehelle. Rakkaudella vaalea na
        Ikävä
        77
        880
      9. Haluaisin ottaa sinut syleilyyni mies

        Olet suloinen...
        Ikävä
        44
        795
      10. Ma 30.9 tosiko tv klo 18 suorana Tikkalanmäeltä

        Virastolta suorana. Äänestyksistä sitten puhutaan illalla ja huomenna, onko kepuvasemmisto kuntalaisten tahdon mukaan to
        Pyhäjärvi
        93
        736
      Aihe