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

437

    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. Oletko tyytyväinen viime tapaamiseemme?

      Vai toivoitko sen menevän toisella tavalla? Miten?
      Ikävä
      98
      3413
    2. Nyt se sit loppuu

      Et ei enää nähdä ja yhteyttä pidetä.
      Ikävä
      62
      3107
    3. Kuoleman pelko katosi

      Olen pelännyt koko elämän ajan kuolemaa mutta yhtäkkiä kun hindut paljastivat totuuksia uskonnoista noin aloin yhtäkkiä
      Hindulaisuus
      434
      2614
    4. Myötähäpeä kun näkee sut,

      tekisit jotain ittelles. Ihan hyvällä tämä!
      Ikävä
      80
      2403
    5. Viikonloppu terveiset kaivatulle

      tähän alas ⬇️⬇️⬇️
      Ikävä
      80
      2343
    6. Jos sitä keittelis teetä

      Ja miettis mitä mies siellä jossain touhuilee... ☕️
      Ikävä
      96
      2076
    7. Toiselle puolikkaalleni

      Sinulla ei taida olla kaikki nyt ihan hyvin? Minua itketti eilen kauheasti, sinunko itkuja itkin? Kyllä kaikki selviää j
      Ikävä
      40
      2056
    8. Kuhmolainen on selvästi kepun lehti

      Kuhmolaise etukannessa oli Kuva kun Jaskalle annettiin karhu patsas.mutta kukmolaislehti oli niin kepulainen että Jaskan
      Kuhmo
      21
      1679
    9. Huomenta ........

      Huomenta 💗 Tiedän, että tuntuisit hyvälle.
      Ikävä
      12
      1676
    10. Ei mun tunteet

      ole mihinkään kadonnut. Enkä mä sua inhoa tai ole kyllästynyt. Mä ymmärsin, ettet ole kiinnostunut minusta, ainakaan sil
      Ikävä
      40
      1634
    Aihe