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

576

    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. Ranskan vasemmistojohtaja: "Kyllä, meneillään on suuri väestönvaihto!"

      Ranskan vasemmistojohtaja Jean-Luc Mélenchon järkytti myöntämällä avoimesti sen, mitä tiedotusvälineet ovat pitkään pitä
      Maailman menoa
      100
      2489
    2. Valion maitotehtaalla kapina

      Ilmastonmuutoksesta, eläinten hyvinvoinnista ja ympäristön saastumisesta huolestuneet eläinkapinalliset estävät panssa
      Maailman menoa
      52
      2313
    3. SDP haluaa tappaa maaseudun - bensan hinta mahdollisimman korkealle

      Maaseudulla auto on välttämätön asia, ja lähes kaikilla on bensa-autot. Kuinka tyhmä pitää olla jos äänestää demareita?
      Maailman menoa
      163
      2075
    4. Päivän Riikka: polttoöljyn hinta räjähti

      Näyttää tuo putinismi ilmenevän persuissa myös Suomen yrittäjien kampittamisena. Polttoöljy on se katalyytti, joka pitää
      Maailman menoa
      17
      1841
    5. Helsingin yllä valopalloja

      https://www.iltalehti.fi/kotimaa/a/1508be00-28c9-4156-83dc-0be5e7aa3066 "Helsingin taivaalla lensi lauantaina puolen yön
      Sinkut
      95
      1435
    6. Kovasti on hävittäjiä ilmassa. Nytkö se alkoi?

      Onko nyt sota ?? `Vai harjoituksiako vain? Hävittäjät pörrää kovasti.
      Kouvola
      81
      1255
    7. HÄLYYTYS!!

      Ukraina se hyökkää jo Suomen maaperälle. https://www.iltalehti.fi/kotimaa/a/645b83ce-e074-4f00-8b99-245d01b38a36
      NATO
      316
      1179
    8. Helsingin yllä lensi yöllä jotain outoa puolen yön aikaan valopalloja

      Poliisi on saanut tapauksesta yhden havaintoilmoituksen. Valopalloja oli noin parikymmentä ILtalehdessä on video tapah
      Maailman menoa
      106
      1039
    9. Mitä kaikkia vikoja

      On kaivatussasi?
      Ikävä
      79
      1033
    10. Nyt Zelenskyi pommittaa drooneillaan jo Suomea!

      Kouvola kohteena: https://yle.fi/aihe/tekstitv?P=107
      Maailman menoa
      225
      927
    Aihe