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

626

    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. Suomessa on meneillään boomereiden kosto

      1990-luvun lamassa osumaa saaneet sukupolvet toivovat sen jälkeen syntyneille sukupolville kärsimystä porvareita äänestä
      Maailman menoa
      20
      2188
    2. Petteri Orpon kommentti persujen väkivaltaan?

      Hiirenhiljaa taas on, kun Tampereella persulahkon ääriosasto pahoinpiteli kantasuomalaisen tytön. Missä on pääministeri
      Maailman menoa
      25
      1572
    3. Mitä ikävöit eniten

      kaivatussasi? 🫶
      Ikävä
      86
      1352
    4. Onko sinulla jalostettu koira? Nämä tekijät altistavat koiran sairastumiselle

      Moni Suomessa suosittu koirarotu on sairas ulkonäkökeskeisen jalostuksen ja ääripiirteiden vuoksi. Erityisesti tietyt t
      Koirat
      20
      1350
    5. Anabaptismin kirous

      Uudestikastetut lahkolaiset joutuvat valheen kierteeseen. He joutuvat herjaamaan lapsena saamaanssa kastetta nimeen Isä
      Kaste
      417
      1062
    6. Miten voit vain

      Olla kuin mitään ei olisi?
      Ikävä
      105
      925
    7. Pelolla pakottaminen

      Kristinusko on tuovinaan valoa ja toivoa, mutta ensin pitää olla pimeyttä ja toivottomutta jotta joku valoa ja toivoa ha
      Kaste
      624
      896
    8. Robotiikka korvaa tulevaisuudessa seurustelusuhteet

      Haluan herättää keskustelua aiheesta. Asiantuntijoiden mukaan robottien kehitys on 10-15 vuoden päässä siitä että voidaa
      Sinkut
      224
      826
    9. kamera hakokylässä

      kamera kuvaamassa yleistä tietä laittomasti ristauksessa hakokylä-raatevaara!
      Hyrynsalmi
      11
      664
    10. Suomuksen kuumin kaupan kassa?

      Missä kaupassa on, siellä minäkin alan käymään.
      Suomussalmi
      10
      660
    Aihe