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

    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. Uskaltaako tässä luottaa siihen että

      Ehkä rakastetaan toisiamme?
      Ikävä
      101
      1011
    2. Tunnusmerkkejä Kaivatulle

      Jotain mistä toinen tunnistaa. Täällä vaalea nainen kaipaa miestä jolla vaaleat hiukset ja asuu maalla. Pelataanko kortt
      Ikävä
      57
      969
    3. Oletko nainen enää täällä?

      En ole tunnistanut kirjoituksiasi hetkeen. Ainoastaan yhdessä neutraalissa ketjussa, missä ei ollut kyse tunteista. Hyv
      Ikävä
      61
      820
    4. Miehen ja naisen ystävyys

      Mitä järkeä on miehen ja naisen ystävyydessä jos toinen ajattelee toisesta enemmän= on rakastunut ja toivoo yhdessä oloa
      Ikävä
      142
      774
    5. Pidätkö itseäsi varattuna

      Kaivatullesi?
      Ikävä
      65
      685
    6. 78
      541
    7. Pyydetään tiedonantoa "hyvinvointitalo"-hankkeen nykytilanteesta

      ja aikataulusta. Odotetaanko uutta hallinto-oikeuden päätöstä. Hallinto-oikeushan antoi teknisenlautakunnan lupajaosto
      Pyhäjärvi
      89
      528
    8. Naisten top-5 red flagit

      1. Feminismi: kertoo keskenkasvuisuudesta, välttää vastuuta tekemällä miehistä kestosyyllisen kaikkeen 2. Ylipaino: kiel
      Ikävä
      99
      519
    9. Mitähän meinaat

      Vai meinaatko mitään kohtaamisen suhteen?
      Ikävä
      39
      518
    10. Oletko hyljännyt minut mies?

      Toivottavasti et. 🥺🥺🥺🥺🥺
      Ikävä
      40
      516
    Aihe