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 4

    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. Olisko jo aika?

      Voisitko jo viimein puhua tai avata edes yhteydet sen mahdollistamiseksi.
      Ikävä
      119
      1432
    2. Kuin moni sun

      Perään on jäänyt itkemään?
      Ikävä
      103
      869
    3. Hyvä tietää

      Onko jotain, mitä hänen olisi hyvä tietää?
      Ikävä
      58
      763
    4. Mikä oli suurin

      Ongelma välillämme?
      Ikävä
      92
      754
    5. Miten uimaportaat voivat maksaa 250 000 euroa?

      Ei mitenkään, jokainen täysjärkinen sen tietää. Ei se ihme ettei verovarat riitä. https://www.is.fi/taloussanomat/art-2
      Maailman menoa
      123
      746
    6. Jussi kutsuisi eduskunnan koolle, jos joku pyytäisi

      Eikös oppositio ole huudellut eduskuntaa koolle jo monta viikkoa? "– En ole saanut siihen liittyvää pyyntöä tai toivett
      Maailman menoa
      115
      729
    7. Rakas, ihana rakkain elämäni rakkaus

      Minäkin tarvisin ne sanat sinulta. Tosin annat sen tunteen läsnäolollasi.. jos vain me vielä nähdään.. pelkään sitä maai
      Ikävä
      38
      684
    8. Hei gaggelibylly ootko valmis?

      Tuun kohta hakee sut ratsullani miesprinsessa ❤️
      Ikävä
      77
      590
    9. Rakastamisesi tarkoitus

      Mikä oli kaiken tarkoitus? En sitä tiedä, en ymmärrä. Olet mielessäni, alati. Olen miettinyt. Ei sillä taida olla merki
      Ikävä
      49
      550
    10. Martinalle onnea

      Kaunis Martina täyttää tänään 44 vuotta! Olkoon syntymäpäivä iloa ja onnea täynnä.
      Kotimaiset julkkisjuorut
      216
      539
    Aihe