abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 01:55 | Nová verze

    Google Chrome 143 byl prohlášen za stabilní. Nejnovější stabilní verze 143.0.7499.40 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 13 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 0
    včera 19:33 | Nová verze

    Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl 3,2 %. Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 26,42 %. Procesor AMD používá 66,72 % hráčů na Linuxu.

    Ladislav Hagara | Komentářů: 0
    včera 15:22 | IT novinky

    Canonical oznámil (YouTube), že nově nabízí svou podporu Ubuntu Pro také pro instance Ubuntu na WSL (Windows Subsystem for Linux).

    Ladislav Hagara | Komentářů: 0
    včera 13:11 | IT novinky

    Samsung představil svůj nejnovější chytrý telefon Galaxy Z TriFold (YouTube). Skládačka se nerozkládá jednou, ale hned dvakrát, a nabízí displej s úhlopříčkou 10 palců. V České republice nebude tento model dostupný.

    Ladislav Hagara | Komentářů: 1
    včera 12:33 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 25.11.1. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 1
    včera 04:00 | Nová verze

    Byla vydána nová verze 15.0 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 5
    včera 03:00 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04 1.1 a 20.04 OTA-11. Vedle oprav chyb a drobných vylepšení je řešen také středně závažný bezpečnostní problém.

    Ladislav Hagara | Komentářů: 0
    včera 00:33 | IT novinky Ladislav Hagara | Komentářů: 0
    1.12. 16:00 | Komunita

    Fedora zve na dvoudenní testování (2. a 3. prosince), během kterého si můžete vyzkoušet nové webové uživatelské rozhraní (WebUI) projektu FreeIPA. Pomozte vychytat veškeré chyby a vylepšit uživatelskou zkušenost ještě předtím, než se tato verze dostane k uživatelům Fedory a celého linuxového ekosystému.

    Ladislav Hagara | Komentářů: 4
    1.12. 13:22 | IT novinky

    Eben Upton oznámil zdražení počítačů Raspberry Pi, kvůli růstu cen pamětí, a představil 1GB verzi Raspberry Pi 5 za 45 dolarů.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (18%)
     (23%)
     (16%)
     (25%)
     (16%)
     (18%)
    Celkem 424 hlasů
     Komentářů: 18, poslední včera 18:34
    Rozcestník

    Dotaz: Vyrovnavacia pamat v linuxe

    28.9.2010 21:35 Igor Bielik
    Vyrovnavacia pamat v linuxe
    Přečteno: 519×
    Ahojte mam maly problem da sa nastavit vyrovnavacia pamat v linuxe tak aby sa nepouzivala? Skusal som funkcie setbuf, setbuffer ale nedari sa mi ju vypnut viac priklad.
    
    #include  
    
    int  main(void)
    {
      int  cislo[2];
      char retazec[2][10];
    
      fprintf(stdout, "Zadaj cislo 1: ");
      scanf("%d", &cislo[0]); 
      setbuf(stdin, NULL);
    
      fprintf(stdout, "Zadaj cislo 2: ");
      scanf("%d", &cislo[1]);
      setbuffer(stdin, NULL, 0);
    
      fprintf(stdout, "Zadaj retazec 1: ");
      fscanf(stdin, "%9s", retazec[0]);
    
      fprintf(stdout, "Zadaj retazec 2: ");
      fscanf(stdin, "%9s", retazec[1]);
    
      printf("%s %s %d %d\n", retazec[0], retazec[1],
                              cislo[0], cislo[1]);
    	return 0;
    }
      Chcel by som aby sa nacital iba prvy parameter a nie cely buffer. Napr: Zadaj cislo 2: 22 retazec1 retazec2
    a automaticky sa to nacita z bufferu ako tomu zabranit?
    
    
    

    Řešení dotazu:


    Odpovědi

    29.9.2010 10:24 luky
    Rozbalit Rozbalit vše Re: Vyrovnavacia pamat v linuxe
    Nepochopil som co si mal presne na mysli. Ale vo vseobecnosti buffer sluzi na urychlenie prace s IO prudmi. Ak na vstup nedostanes to co ocakavas, problem bude skor vo formatovacom retazci pri volani funkcie scanf().

    29.9.2010 19:11 Sten
    Rozbalit Rozbalit vše Re: Vyrovnavacia pamat v linuxe
    Nijak. Můžeš před vypsáním zadání přečíst (a zahodit) celý vstup (to dělá třeba su), ale proč to vůbec chceš dělat?
    29.9.2010 19:14 Sten
    Rozbalit Rozbalit vše Re: Vyrovnavacia pamat v linuxe
    setbuf a setbuffer slouží pro výstupní proudy a jenom pro tu aplikaci (pro bufferování dat, která se poté předají jádru), nijak neovlivňují buffery v jádře (které mj. provádějí bufferování stdin). Více viz manuál
    29.9.2010 20:54 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: Vyrovnavacia pamat v linuxe
    Vím že to jde, nevím zda i v linuxu.

    Prostě musí se ten proud stdout skopírovat a pak používat tu kopii kde už se dá buffer nastavit.

    Nebo nějak tak jsem to viděl v příkladu kdysi, jak přijedu domů skusím projít knížky.
    29.9.2010 21:02 Sten
    Rozbalit Rozbalit vše Re: Vyrovnavacia pamat v linuxe
    Tohle jde u ISO C++ iostreamů (i bez kopírování), ale ne u ISO C
    29.9.2010 21:08 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Vyrovnavacia pamat v linuxe
    Myslím že ho trápí to že když napíše "123 hola" a [enter] tak sekvence scanf("%d"), scanf("%s") mu naparsuje 123 a "hola" a on místo toho chce aby se to na "hola" vysralo a vynutilo si to "123" [enter] "hola" [enter].
    In Ada the typical infinite loop would normally be terminated by detonation.
    30.9.2010 11:29 Sten
    Rozbalit Rozbalit vše Re: Vyrovnavacia pamat v linuxe
    Ano, to chápu. su dělá to, že přečte a zahodí veškerý vstup předtím, než začne načítat heslo. Do konce řádku lze zahazovat vstup třeba pomocí while ((c = getchar()) != '\n' && c != EOF) ;
    29.9.2010 20:58 Igor Bielik
    Rozbalit Rozbalit vše Re: Vyrovnavacia pamat v linuxe
    Proste slo mi oto aby uzivatel zadal iba jeden paramater resp. jednu hodnotu na vstupe.
    vlastikroot avatar 30.9.2010 06:26 vlastikroot | skóre: 24 | blog: vlastikovo | Milevsko
    Rozbalit Rozbalit vše Re: Vyrovnavacia pamat v linuxe
    fflush(stdin);
    We will destroys the Christian's legion ... and the cross, will be inverted
    30.9.2010 10:38 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: Vyrovnavacia pamat v linuxe
    A skusil jsi to? To taky nefunguje.
    30.9.2010 14:14 Igor Bielik
    Rozbalit Rozbalit vše Re: Vyrovnavacia pamat v linuxe
    Tak som si nasiel zdrojak su a pozrel ako to je riesene tam. Cez funkciu getline tak som ju tiez pouzil a funguje to podla mojich predstav. Dakujem vsetkym za pomoc.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.