funktiota

Ninni_

Mun harkkatyö on kohta tehty ja häivyn täältä kyselemästä tyhmiä, yhden jos vielä kestätte.

Olisiko olemassa gets-funktiota vastaava funktio, joka lukisi käyttäjän syöttämän rivin suoraan tiedostoon? *turha toivo?*

(Onhan siis niin, että gets ei välitä, vaikka luettu rivi olisi pitempi kuin muistitila, johon sen arvon yrittää tunkea, vaan pahassa tapauksessa se jatkaa tallettamista sujuvasti taulukon ylikin?)

4

637

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • #include

      fputs - int fputs(const char *s, FILE *stream);

      fputs() writes the string s to stream, without its trailing '\0'.

      • Ninni_

        Tarkotin sellasta, joka lukis stdinistä suoraan tiedostoon... kun haluisin välttää sen, että mun char[]-muuttuja loppuu kesken jos käytän getsiä.

        :/


      • hjelppi
        Ninni_ kirjoitti:

        Tarkotin sellasta, joka lukis stdinistä suoraan tiedostoon... kun haluisin välttää sen, että mun char[]-muuttuja loppuu kesken jos käytän getsiä.

        :/

        ###################################

        libc:tä käyttäen


        #include
        #include

        #define BUFSIZE 8192

        int main(int argc, char *argv[])
        {
        char buf[BUFSIZE];
        FILE *fd;

        fd = fopen("file2.txt", "w ");

        while ( fgets(buf, BUFSIZE, stdin) != NULL) {
        fputs(buf, fd);
        }

        exit(0);
        }

        ####################Alustana linukka:

        #include
        #include
        #include
        #include
        #include
        #include

        #define BUFSIZE 8192

        int main(int argc, char *argv[])
        {
        int fd_out, n;
        char buf[BUFSIZE];

        fd_out = open("file.txt", O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IRGRP | S_IROTH);

        while ( (n = read(STDIN_FILENO, buf, BUFSIZE)) != 0) {
        write(fd_out, buf, n);
        }

        exit(0);
        }


        Tapa kaksi:


      • Ninni_
        hjelppi kirjoitti:

        ###################################

        libc:tä käyttäen


        #include
        #include

        #define BUFSIZE 8192

        int main(int argc, char *argv[])
        {
        char buf[BUFSIZE];
        FILE *fd;

        fd = fopen("file2.txt", "w ");

        while ( fgets(buf, BUFSIZE, stdin) != NULL) {
        fputs(buf, fd);
        }

        exit(0);
        }

        ####################Alustana linukka:

        #include
        #include
        #include
        #include
        #include
        #include

        #define BUFSIZE 8192

        int main(int argc, char *argv[])
        {
        int fd_out, n;
        char buf[BUFSIZE];

        fd_out = open("file.txt", O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IRGRP | S_IROTH);

        while ( (n = read(STDIN_FILENO, buf, BUFSIZE)) != 0) {
        write(fd_out, buf, n);
        }

        exit(0);
        }


        Tapa kaksi:

        Voi kiitos. Eiköhän noilla. :)


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

    Luetuimmat keskustelut

    1. Petteri Orpo on satusetä

      Väittää että työllisyys on Suomessa samalla tasolla kuin hallituksen aloittaessa kesällä 2023. Fakta on, että työllisi
      Maailman menoa
      85
      3427
    2. Kauppalehti - Törkeä skandaali paljastui: Espanja käytti EU-rahoja ihan muuhun kuin piti

      Espanja on käyttänyt miljardeja euroja EU:n elpymisavustuksia eläkkeisiin ja sosiaalimenoihin – ja pyytää lisää. Espanj
      Maailman menoa
      98
      3155
    3. SDP pelastaa uppoavan Suomen

      2027 kun SDP voittaa ylivoimaisesti vaalit alkaa Suomen uusi raju syöksy kohti täystyöllisyyttä ja turvallisempaa yhteis
      Maailman menoa
      180
      3103
    4. Minkä ikäinen

      on kaipaamasi ihminen? Minä vuonna syntynyt?
      Ikävä
      163
      2754
    5. Orpo ja Purra, käykää hakemassa oppia Espanjasta

      Espanja on näyttänyt kuinka kova työttömyys nujerretaan ja saadaan maan talous palautettua nousu-uralle. Ei ole häpeä kä
      Maailman menoa
      56
      2448
    6. Porvarimedia: Räsänen vei Lindtmanilta pääministerin paikan

      Lisäksi suomalaiset ovat innostuneet tuhlaaman, koska kuluttavat inflaation verran enemmän rahaa. Eikö porvarimedialla
      Maailman menoa
      8
      2335
    7. Jopa Espanjassa talous kasvaa, Purra vain irvistelee

      Huomaa kuinka Purra on Suomen historian huonoin miniseteri, joka ei ole saanut aikaiseksi kuin tuhoa, Siis jopa vasemmis
      Maailman menoa
      209
      2256
    8. Jääkiekon MM:t pitää siirtää MTV:ltä Ylelle

      Persuille ikäviä uutisia taas. . Valtioneuvoston asetuksen mukaan MM-kisat kuuluvat kansallisesti merkittäviin tapahtumi
      Maailman menoa
      60
      2227
    9. Ruotsi laskee jälleen bensaveroa, Riikka irvailee tumput suorana

      Euron bensa oli persujen vaalilupaus, mutta kohta alkaa olla kolmosella alkavia litrahintoja. Meanwhile in Sverige: "
      Maailman menoa
      14
      2093
    10. Tsemii Pete ja Linda! Tässä tärkeät kellonajat Euroviisut-viikon ohjelmista tv:ssä!

      Euroviisut järjestetään Wienissä Itävallassa 12.-16. toukokuuta. Tsemii Pete ja Linda kisaan! Vetäkää Suomelle voitto Li
      Euroviisut
      43
      1837
    Aihe