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

669

    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. Anteeksi

      että tein pahaa sulle. En ole täysijärkinen.
      Ikävä
      170
      1459
    2. Ketä naista se poju tällä hetkellä vetää höplästä

      Sillä kun pitää aina olla joku höplästä vedettävä kierroksessa
      Ikävä
      331
      1069
    3. Milloin olet viimeksi ollut hänen..

      Lähettyvillä??
      Ikävä
      43
      895
    4. Tappio Rydmanille

      Ei pystynyt Wille saamaan tahtonsa läpi. https://www.hs.fi/politiikka/art-2000012093775.html
      Perussuomalaiset
      162
      759
    5. Milloin näit kaivattusi viimeksi?

      Mitä olisit halunnut tehdä tai sanoa hänelle?
      Ikävä
      39
      749
    6. Missä tapasit kaivattusi

      ensimmäisen kerran?
      Ikävä
      49
      700
    7. Sometähti villisika-Seppo on kuollut

      Suomussalmella lemmikki­eläimeksi virallisesti hyväksytty villisika Seppo on kuollut. https://yle.fi/a/74-20232445
      Suomussalmi
      29
      577
    8. 52
      571
    9. Aattelin nainen

      Jos oppisin puhumaan. Rehellisesti, rennosti ja hetkessä.
      Ikävä
      116
      568
    10. Tiesitkös rakas

      Mun taivas on pilvinen ja synkkä. Päivät värittömiä ja harmaita. Missä olet, aurinkoni? 💔
      Ikävä
      44
      531
    Aihe