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

586

    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. Kunnissa - siis myös kaupungeissa - viihtyvät ovat kommunisteja

      Nehän ovat osa yhteiskunnan tuottamia instansseja, joista on vain haittaa veronmaksajille ja yrittäjlle, kuten ollaan ve
      Kommunismi
      34
      3198
    2. Persuja tuntuu kiinnostavan vain muiden rahat

      En muista kenenkään muun olleen huolissaan yhtä paljon muiden rahoista kuin persujen. Mistähän se kertoo?
      Maailman menoa
      64
      2440
    3. Järkevä ehdotus: reilun 8 miljardin euron veronkorotukset

      Nykyinen hallitus on päästänyt valtion tulopuolen rappeutumaan, vaikka varallisuutta on Suomessa enemmän kuin koskaan. U
      Maailman menoa
      76
      2328
    4. Iski taas katumus kun en jutellut sun kanssa

      Silloin kun halusit. Mutta en enää voi sille mitään, en saa muutettua sitä hetkeä..
      Ikävä
      182
      2105
    5. Miksei asevelvollisuuden kuluja lasketa Nato-menoihin?

      Koskela (vas) kysyy aiheellisesti, että kun kerran palkka-armejaan perustuvat maat laskevat kysesestä toiminnasta aiheut
      Maailman menoa
      17
      2090
    6. SDP todellisuudessa pahin pettäjä koskaan - se syyllistyi valtiopetokseen 1918

      kun aloittivat kapinan maan laillista valtiojärjestystä vastaan. Punaiset saivat tukea Neuvosto-Venäjän bolsevikeilta,
      Maailman menoa
      126
      2060
    7. Purralla luistaa hihna isolla pyörällä

      Näki taas eilisillan tv-tentissä kuinka paniikissa oli kannatusromahduksen takia. Ei saanut kuin tiuskittua yksittäisiä
      Maailman menoa
      36
      1734
    8. Antti Lindtman heikko johtaja - ei valtiomiesainesta lainkaan

      kyllä se eilen taas nähtiin. Ei pystynyt Antti vastaamaan edes toimittajan yhteen yksinkertaiseen kysymykseen - juu tai
      Maailman menoa
      75
      1664
    9. Miksi vasemmisto ei vastusta ulkomaisen halpatyövoiman maahantuontia

      joka heikentää suomalaisten duunarien työmarkkina-asemaa ja rasittaa Suomen julkista taloutta? Vasemmistolla ideologin
      Maailman menoa
      112
      1653
    10. Miksi kaikki avioeronneet miehet eivät kunnioita naisia?

      Niin. Miksi avioeronneet miehet kohtelevat huonosti naisia, jotka lähestyvät heitä? Tämä on kokemuksen rintaääntä. Tämä
      Sinkut
      245
      1437
    Aihe