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

403

    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. Uskallanko vielä kaivata sinua?

      Siitä on niin kauan aikaa. Harmi, kun kaikki meni niin kuin meni. Elämässä oli aika raskasta silloin, ja näen sen sinun
      Ikävä
      43
      9803
    2. T:ltä J-miehelle

      Se kaunein jäi välillämme kokematta Sen olisin halunnut kokea. Miten olisit pitänyt mua hyvänä. Sen yhden kerran. Se oli
      Ikävä
      33
      2331
    3. Missä meetwursti on keksitty?

      Tapasin hiljattain erikoisen rouvan Prisman leikkelehyllyjen välissä pälyilemässä. Kun tulin kohdalle, rouva alkoi raivo
      Ruoka ja juoma
      28
      1884
    4. Terveiset kaipauksen kohteelle

      tähän alle 👇👇👇 !!
      Ikävä
      136
      1683
    5. Miksi kirjoittelet sinkut-palstalla?

      Olet sinkku? Kaipaat jutteluseuraa? Täällä on kivoja keskusteluja? Tapaat mielenkiintoisia ihmisiä? Joku muu syy?
      Sinkut
      195
      1204
    6. Miten se pihvi pitää oikeaoppisesti paistaa?

      Törmäsin erikoiseen episodiin eräässä ABC-ravintolassa. Pysähdyin kahvikupilliselle ja kohta ravintolan toisesta nurkast
      Ruoka ja juoma
      10
      1183
    7. Kumpiko kaivatussasi

      teki suhun vaikutuksen äly vai ulkonäkö?
      Ikävä
      71
      1127
    8. 92
      962
    9. Haluatko että

      Rikotaan vähän lisää jäätä tai jotain muuta
      Ikävä
      82
      904
    10. Mikä kaivatussasi

      kiehtoo?
      Ikävä
      49
      885
    Aihe