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 04:44 | Zajímavý software

    Cambalache, tj. RAD (rapid application development) nástroj pro GTK 4 a GTK 3, dospěl po pěti letech vývoje do verze 1.0. Instalovat jej lze i z Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 14:55 | Nová verze

    KiCad (Wikipedie), sada svobodných softwarových nástrojů pro počítačový návrh elektronických zařízení (EDA), byl vydán v nové major verzi 10.0.0 (𝕏). Přehled novinek v příspěvku na blogu.

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

    Letošní Turingovou cenu (2025 ACM A.M. Turing Award, Nobelova cena informatiky) získali Charles H. Bennett a Gilles Brassard za základní přínosy do oboru kvantové informatiky, které převrátily pojetí bezpečné neprolomitelné komunikace a výpočetní techniky. Jejich protokol BB84 z roku 1984 umožnil fyzikálně zaručený bezpečný přenos šifrovacích klíčů, zatímco jejich práce o kvantové teleportaci položila teoretické základy pro budoucí kvantový internet. Jejich práce spojila fyziku s informatikou a ovlivnila celou generaci vědců.

    Ladislav Hagara | Komentářů: 6
    včera 04:44 | Zajímavý článek

    Firefox 149 dostupný od 24. března přinese bezplatnou vestavěnou VPN s 50 GB přenesených dat měsíčně (s CZ a SK se zatím nepočítá) a zobrazení dvou webových stránek vedle sebe v jednom panelu (split view). Firefox Labs 149 umožní přidat poznámky k panelům (tab notes, videoukázka).

    Ladislav Hagara | Komentářů: 2
    včera 00:33 | Nová verze

    Byla vydána nová stabilní verze 7.9 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 146. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 00:11 | Zajímavý software

    Dle plánu byla vydána Opera GX pro Linux. Ke stažení je .deb i .rpm. V plánu je flatpak. Opera GX je webový prohlížeč zaměřený na hráče počítačových her.

    Ladislav Hagara | Komentářů: 6
    19.3. 19:22 | Nová verze

    GNUnet (Wikipedie) byl vydán v nové major verzi 0.27.0. Jedná se o framework pro decentralizované peer-to-peer síťování, na kterém je postavena řada aplikací.

    Ladislav Hagara | Komentářů: 0
    19.3. 04:00 | Bezpečnostní upozornění

    Byly publikovány informace (technické detaily) o bezpečnostním problému Snapu. Jedná se o CVE-2026-3888. Neprivilegovaný lokální uživatel může s využitím snap-confine a systemd-tmpfiles získat práva roota.

    Ladislav Hagara | Komentářů: 4
    19.3. 03:33 | Zajímavý software

    Nightingale je open-source karaoke aplikace, která z jakékoliv písničky lokálního alba (včetně videí) dokáže oddělit vokály, získat text a vše přehrát se synchronizací na úrovni jednotlivých slov a hodnocením intonace. Pro separaci vokálů využívá UVR Karaoke model s Demucs od Mety, texty písní stahuje z lrclib.net (LRCLIB), případně extrahuje pomocí whisperX, který rovněž využívá k načasování slov. V případě audiosouborů aplikace na

    … více »
    NUKE GAZA! 🎆 | Komentářů: 2
    18.3. 18:22 | Nová verze

    Po půl roce vývoje od vydání verze 49 bylo vydáno GNOME 50 s kódovým názvem Tokyo (Mastodon). Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře.

    Ladislav Hagara | Komentářů: 35
    Které desktopové prostředí na Linuxu používáte?
     (15%)
     (7%)
     (1%)
     (12%)
     (29%)
     (2%)
     (5%)
     (1%)
     (13%)
     (24%)
    Celkem 1120 hlasů
     Komentářů: 27, poslední 17.3. 19:26
    Rozcestník

    Dotaz: Vyrovnavacia pamat v linuxe

    28.9.2010 21:35 Igor Bielik
    Vyrovnavacia pamat v linuxe
    Přečteno: 523×
    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.