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

604

    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. Riikka Purra leikkasi alimmalta tulodesiililtä 15 %

      Muistaako kukaan Riikka Purran kovaäänisen vaalilupauksen ennen eduskuntavaaleja? https://yle.fi/a/74-20221152 "THL o
      Maailman menoa
      277
      5793
    2. Muistele nainen niitä meidän yhteisiä hetkiä

      Miltä ne tuntui? Enkö aina huokunut välittämistä, kiintymystä. Eikö sinulla aina ollut hyvä olo kanssani? Minulla ainaki
      Ikävä
      37
      3366
    3. Sofia Virta: bänet!

      Matkailuautoilija metsänomistaja puoliso on nyt entisen teeren poikia, ja Sofia tekee comebackin vapaille markkinoille.
      Maailman menoa
      143
      2617
    4. "Suomi voisi ottaa taloudessa oppia Espanjasta"

      "Espanjassa talouspolitiikka on löysempää, mutta velka-aste on kääntynyt jopa laskuun.", pohdiskelee Suomen seuraava pää
      Maailman menoa
      220
      2092
    5. Kokoomus: SDP johtaa kansalaisia harhaan

      (Umpityhmät palstademarit ovat taas uskoneet Lindtmanin höpötykset Espanjasta.) SDP harhaanjohtaa kansalaisia talouspol
      Maailman menoa
      74
      1624
    6. Otan vielä joskus yhteyttä

      Ja jos et vastaa, niin tulen sinne. Pakko puhua.
      Ikävä
      64
      1047
    7. Niin että miten

      Haluatko oikeasti olla minun kanssa oikeassa elämässä, vai onko tämä vain kirjoittelua
      Ikävä
      77
      971
    8. Ikävä tilanne rikoksen vuoksi Espanjassa - Jari Sillanpää pistää uutta matoa koukkuun

      Jari Sillanpää on ehkä yksi suosituimmista tangokuninkaallisista. Ex-tangokuningas juhli viime syksynä 30 vuotista uraan
      Suomalaiset julkkikset
      9
      835
    9. Nuoriso on tyhmää tutkijat ovat todenneet

      Nyt se on todettu ääneen mitä kaikki ovat jo pitkään epäilleet. Nuoriso on tyhmentynyt tasaiseen tahtiin. Kohta pitää ni
      Sinkut
      123
      833
    10. Tätä ei tv:ssä: Farmi-tippuja Amski rehellisenä ongelmista kuvauksissa

      Ennakkosuosikki Amskidabamski Anne-Mari Tarkkio joutui ulos Farmi Suomi -realitystä. Voimatehtävässä vastakkain asettui
      Tv-sarjat
      10
      788
    Aihe