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

89

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000

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

      Luetuimmat keskustelut

      1. Tulipalossa henkilövahinkoja, itsenäisyyspäivä alkoi huonosti, poliisi tiedottaa lisää

        Savonlinna https://www.como.fi/uutiset/savonlinna-henkilovahinkoja-tulipalossa-poliisi-tiedottaa-lisaa/
        Savonlinna
        159
        8148
      2. Ennen ei ollut persuja ja työttömyyttä, lääkäriinkin pääsi

        Ennen oli kaikilla töitä Kauppiaille kelpasi kun saivat voittoa Yritystukia ei ollut Lääkäriin pääsi kaikki haluklaat Nu
        Maailman menoa
        96
        3964
      3. Millaista läheisyyttä

        Toivoisit ikävästi kohteesi kanssa?
        Ikävä
        112
        3847
      4. 55
        3343
      5. Antifasismi - mitä se on?

        Se on äärivasemmistolaista anarkistista toimintaa joka käyttää fasisminvastaisuutta keppihevosena oikeuttaakseen toimint
        Maailman menoa
        41
        2680
      6. Heräsin taas ikävään

        Ja aivan valtavaan haluun. Tahdon sinua R. ❤️
        Ikävä
        53
        1834
      7. Somali ei kätellyt Stubbia Linnan juhlissa

        Miksei somali osaa noudattaa hyviä käytöstapoja. https://www.iltalehti.fi/viihdeuutiset/a/563a3dea-fa3f-41f3-b64f-406d2
        Maailman menoa
        347
        1717
      8. Yliajo Heinolassa

        Mikä ihme ihmisiä vaivaa nykyään? Vähän ensin kähistellään nakkikioskilla ja sen jälkeen kostoksi murhataan autolla! Voi
        Heinola
        43
        1711
      9. Kuka on menehtynyt?

        https://yle.fi/a/74-20198293 Kuulemani mukaan ryyppyporukka ollut hapualla ja kuolemanenkeli (F.G) eli mies jonka seuras
        Kankaanpää
        11
        1601
      10. Kauhea ikävä iski

        Mietin vain, mitä olet juuri nyt tekemässä. Mietin myös, välittyykö se sinulle, kun olet koko ajan mielessäni, tunnetko
        Ikävä
        18
        1448
      Aihe