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

617

    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. Sebastian Tynkkynen (pers.) ei vastusta raiskauksia

      "Sebastian Tynkkynen oli ainoa 14 suomalaismepistä, joka vastusti uutta suostumuksen puuttumiseen perustuvaa raiskauslak
      Maailman menoa
      45
      3937
    2. Purra jäi kiinni valehtelusta, Heinäluoma ei

      Ja heti alkoi Purra joukkoineen maalittamaan Heinäluomaa. Niin toimii äärioikeistoa edustava putinistipersulauma, jonka
      Maailman menoa
      22
      2975
    3. Yks vähemmän

      Yks narkki täälläkin vähemmän,m.t. sai mitä halusi😎
      Kiuruvesi
      32
      2550
    4. Nyt voin sanoa että vtuttaa!

      Kertaa sata 💯
      Ikävä
      32
      1879
    5. Oletko onnellinen

      Kun ei enää nähdä?
      Ikävä
      52
      1464
    6. Kaunis Martina taas lehtihaastattelussa - kommentoi Stefua

      Martina sanoi, että Isabella on käytännössä aina hänen kanssaan. "Minä olen se vanhempi, joka ottaa 100-prosenttisen vas
      Kotimaiset julkkisjuorut
      450
      1449
    7. Gallup: Kenet sinä haluaisit nähdä Yökylässä-sarjassa?

      Yökylässä Maria Veitola -sarjaa on nähty jo 10 kautta tv:ssä, ja Veitola on yöpynyt satojen suomalaisten julkkisten kode
      Tv-sarjat
      43
      1383
    8. Anteeksi

      Anteeksi 😭😭😭. Olet rakas❤️. En juo enää liikaa. 😭
      Ikävä
      37
      1280
    9. Minun kultani

      Mistä saataisiin sulle hyvät henkselit? 🤗😘
      Ikävä
      55
      1196
    10. Mitäs mieltä

      Hakeekohan pikkunennmies alavuden kaupunginjohtajaksi? Pakkoliitos ähtäri-alavus. Taas olis mieliharmi johtamassa suoho
      Ähtäri
      16
      1175
    Aihe