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 07:00 | Nová verze

ZFS on Linux, tj. implementace OpenZFS (Wikipedie) na Linuxu, byl vydán ve verzi 0.7.0. Přehled novinek v diskusním listu zfs-announce nebo na GitHubu. Nejnovější ZFS on Linux je kompatibilní s Linuxem 2.6.32 až 4.12.

Ladislav Hagara | Komentářů: 0
dnes 01:44 | IT novinky

V Las Vegas končí bezpečnostní konference Black Hat USA 2017 (Twitter) a začíná bezpečnostní konference DEF CON 25 (Twitter). V rámci Black Hat budou vyhlášeny výsledky letošní Pwnie Awards (Twitter). Pwnie Awards oceňují to nejlepší, ale i to nejhorší z IT bezpečnosti (bezpečnostní Oscar a Malina v jednom). V kategorii "Lamest Vendor Response" byl například nominován také Lennart Poettering za jeho přístup k řešení bezpečnostních chyb v systemd, viz například chyba s uživatelem 0day.

Ladislav Hagara | Komentářů: 2
dnes 00:22 | Bezpečnostní upozornění

Nitay Artenstein z Exodus Intelligence se v příspěvku na blogu společnosti podrobně věnuje bezpečností chybě Broadpwn (CVE-2017-9417). Její analýzu provedl také Zhuowei Zhang na blogu Booster Ok. Jedná se o chybu ve firmwaru Wi-Fi chipsetů BCM43xx od Broadcomu. Útočník může vzdáleně získat kontrolu nad zařízením. Chyba byla již opravena v macOS, iOS i Androidu [Hacker News].

Ladislav Hagara | Komentářů: 2
včera 22:55 | IT novinky

Intel končí s vývojovými deskami Joule, Edison, Galileo a také s Arduino 101 a Curie.

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

Byla vydána nová verze 42.3 linuxové distribuce openSUSE Leap. Jedná se už o třetí vydání, které staví na SUSE Linux Enterprise (SLE). Výchozím jádrem je opět poslední LTS verze, tedy řada 4.4. Podrobnosti v oznámení o vydání a v poznámkách k vydání.

Ladislav Hagara | Komentářů: 15
včera 14:30 | Nová verze

Google Chrome 60 byl prohlášen za stabilní. Nejnovější stabilní verze 60.0.3112.78 tohoto webového prohlížeče přináší řadu oprav a vylepšení. Vylepšeny byly také nástroje pro vývojáře (YouTube). Opraveno bylo 40 bezpečnostních chyb.

Ladislav Hagara | Komentářů: 0
25.7. 22:33 | IT novinky

Společnosti Adobe, Apple, Facebook, Google, Microsoft a Mozilla společně oznámily konec Flashe. Podpora Flashe oficiálně skončí na konci roku 2020.

Ladislav Hagara | Komentářů: 15
25.7. 05:55 | Komunita

Před 10 lety, v červenci 2007, se začal prodávat svobodný chytrý telefon Neo 1973 (vnitřní označení GTA01). Za jeho vývojem stáli vývojáři projektu Openmoko (Wikipedie). O rok později bylo možné koupit jejich druhý telefon Neo FreeRunner (GTA02). V roce 2011 byl představena platforma GTA04. Tuto platformu využívá také projekt Neo900, jehož cílem je vývoj nástupce telefonu Nokia N900. Nahlédnutí do historie Openmoko a další informace v článku na Vanille.de [Hacker News].

Ladislav Hagara | Komentářů: 23
25.7. 04:44 | Komunita

Tým Debianu zabývající se reprodukovatelnými sestaveními (Reproducible Builds), tj. kdokoli může nezávisle ověřit, že daný binární .deb balíček vznikl překladem daných zdrojových kódů, oznámil, že 94 % balíčků Debianu lze přeložit a sestavit reprodukovatelně. V únory 2015 to bylo 83 % [reddit].

Ladislav Hagara | Komentářů: 4
24.7. 11:22 | Komunita

Mozilla.cz informuje, že na blogu Mozilly věnovaném bezpečnosti byly zveřejněny výsledky bezpečnostního auditu služby Firefox Accounts, v českých překladech účet Firefoxu, sloužící hlavně k přihlašování k synchronizaci Firefox Sync. Nalezeno bylo celkem 15 bezpečnostních chyb, z toho jedna byla označena jako kritická a tři jako vážné.

Ladislav Hagara | Komentářů: 0
Těžíte nějakou kryptoměnu?
 (4%)
 (2%)
 (20%)
 (74%)
Celkem 113 hlasů
 Komentářů: 6, poslední včera 18:53
    Rozcestník

    Dotaz: cyklus while a podivne spravanie

    13.12.2005 19:55 oxymoron | skóre: 16 | blog: oxymoron | Bratislava
    cyklus while a podivne spravanie
    Přečteno: 91×
    mam strasne neprijemny problem ktory ma brzdi pri zadani do skoly a preto hladam pomoc...neviem akym zazrakom ale ked tento program pustim a zadam 'b' tak mi do premennej pocet ulozi 1...avsak ked ten cyklus bezi dalej tak mne z neznameho dovodu premennu pocet vynuluje.. :(
    #include malloc.h
    #include stdio.h
    #include stdlib.h
    typedef struct {
      char meno[10];
      char priez[20];
      int oscislo;
      char znamka;
    } STUD;
    
    void vlozStud(int *pocet) {
      (*pocet)++;
    }
      
    
    int main() {
      
      int pocet;
      char vyber;
      
      pocet=0;
    	
      STUD *student;
      student=(STUD *) malloc(1*sizeof(student));
      
     
      printf("%d\n",pocet);
      while (vyber!='x') { 
        scanf("%s",&vyber);
        if(vyber=='b') vlozStud(&pocet);
        printf("%d",pocet);
      }
      
      printf("%d",pocet);
      
      return (0);
    }
    
    Born to be root ... :-D | "..žebrák není ten, kto svobodu si získal, z toho se stává král.."

    Odpovědi

    13.12.2005 20:00 oxymoron | skóre: 16 | blog: oxymoron | Bratislava
    Rozbalit Rozbalit vše Re: cyklus while a podivne spravanie
    zabudol som ze pracujem v Anjute pod linuxami a najhorsie je ze pod win to ide :(
    Born to be root ... :-D | "..žebrák není ten, kto svobodu si získal, z toho se stává král.."
    David Watzke avatar 13.12.2005 20:07 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: cyklus while a podivne spravanie
    Nehodí kompilátor nějakej warning? Nepíšou se includy mezi < a >?
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    13.12.2005 20:09 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
    Rozbalit Rozbalit vše Re: cyklus while a podivne spravanie
    no to je jasný, jenže zkus si to zadat na ABCLinuxu s těma < a > ... :-)
    13.12.2005 20:18 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: cyklus while a podivne spravanie
    No a na co jsou asi nad polem pro zadávání příspěvku tlačítka '<' a '>'? Pro ty línější nabízím pomůcku, kterou jsem kdysi vyrobil kvůli starému redakčnímu systému Intervalu, ale hodí se i zde.
    13.12.2005 20:21 oxymoron | skóre: 16 | blog: oxymoron | Bratislava
    Rozbalit Rozbalit vše Re: cyklus while a podivne spravanie
    hmm....ospravdlnujem sa to som si nevsimol ... :)
    Born to be root ... :-D | "..žebrák není ten, kto svobodu si získal, z toho se stává král.."
    13.12.2005 20:08 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
    Rozbalit Rozbalit vše Re: cyklus while a podivne spravanie
    hint: kterým znakem končí v c-čku stringy?
    13.12.2005 20:22 oxymoron | skóre: 16 | blog: oxymoron | Bratislava
    Rozbalit Rozbalit vše Re: cyklus while a podivne spravanie
    hmm...no nerozumiem resp. asi neviem na to vobec odpoved
    Born to be root ... :-D | "..žebrák není ten, kto svobodu si získal, z toho se stává král.."
    Martin Tůma avatar 13.12.2005 21:10 Martin Tůma | skóre: 38 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: cyklus while a podivne spravanie

    Snažíš se zapsat řetězec na místo znaku. I když z klávesnice zadáš jenom "b", tak funkce scanf("%s", &vyber) na adresu &vyber uloží "b\0" (C-čkové řetězce jsou zakončeny znakem "\0"). A ten nulovej znak přepíše něco, co už nepatří k tomu charu. (V tvém případě proměnnou pocet)

    To, že na windows to funguje je způsobený pravděpodobně "zarovnávánim" proměných v paměti, který provádí překladač - zapisuješ někam, kde by stejně nic nebylo.

    Každý má právo na můj názor!
    13.12.2005 20:14 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: cyklus while a podivne spravanie
      scanf("%s",&vyber);
    

    Tak takové věci si raději hodně rychle odvykněte. Termín buffer overflow už jste slyšel? Tohle by byla sebevražda i kdyby proměnná vyber nebyla typu char.

    13.12.2005 20:23 oxymoron | skóre: 16 | blog: oxymoron | Bratislava
    Rozbalit Rozbalit vše Re: cyklus while a podivne spravanie
    ok beriem a budem pamatat ale ako to ma byt spravne? resp. ako to riesit??
    Born to be root ... :-D | "..žebrák není ten, kto svobodu si získal, z toho se stává král.."
    David Watzke avatar 13.12.2005 20:24 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: cyklus while a podivne spravanie
    Jak to má být správně? Takhle to je i v učebnici... no, v jiném spojení.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    13.12.2005 20:27 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: cyklus while a podivne spravanie
    Máte pointer na proměnnou typu char a na místo, kam ukazuje, zkopírujete zadaný řetězec. Takže prvním znakem naplníte tu proměnnou a zbytkem přepíšete pár bytů za ním. Když budete mít štěstí, bude to pár jiných proměnných. Když ne, mohou se začít dít podivuhodné věci… V případě tazatele to zřejmě odnesla proměnná pocet, která se nacházela na zásobníku hned nad vyber.
    13.12.2005 20:39 oxymoron | skóre: 16 | blog: oxymoron | Bratislava
    Rozbalit Rozbalit vše Re: cyklus while a podivne spravanie
    hmm...ok tak prosim ako to zapisat spravne? ale inak len tak mimo ze to pod win ide a to ma tiez hneva lebo pod win sa mi moc ten program pisat nechce...resp. nemam to cim prelozit a v com pisat...prosim dalo by sa navrhnut nejake riesenie konkretne presny zapis? inak ked tam dam namiesto scanf("%s",&vyber) scanf("%c",&vyber) tak mi to nevynuluje premennu pocet ale ten cyklus ide vzdy dvakrat namiesto toho aby si zakazdym vypytal zadat znak...
    Born to be root ... :-D | "..žebrák není ten, kto svobodu si získal, z toho se stává král.."
    13.12.2005 20:48 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: cyklus while a podivne spravanie
    Asi byste si měl nejdřív zjistit, co vlastně děláte. Tedy nastudovat si z jakékoli učebnice jazyka C něco o tom, jaká je standardní reprezentace řetězců v jazyce C, co je to pointer a co dělá funkce scanf(). Bez toho to nepůjde a pokud si toto nastudujete, bude vám hned jasné, v čem je problém. Fórum vám může pomoci s konkrétním problémem, ale základy jazyka si musíte nastudovat sám.
    13.12.2005 21:10 oxymoron | skóre: 16 | blog: oxymoron | Bratislava
    Rozbalit Rozbalit vše Re: cyklus while a podivne spravanie
    no mne je jasne to ze pod windowsackym compilerom to ide tak preto ma zaujima v com je problem....mne je jasne co je pointer aj co robi scanf ale ked mi nieco nejde tak skusam a vidim ze to pod win ide :(
    Born to be root ... :-D | "..žebrák není ten, kto svobodu si získal, z toho se stává král.."
    13.12.2005 21:25 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: cyklus while a podivne spravanie
    Na začátku cyklu proměnná "vyber" není inicializována, takže je celkem náhoda, že to nějak funguje. Dále, "vyber" nesmí být "char", ale "pointer na char", tedy
    char *vyber;
    
    No a když je to takhle inicializováno, tak je potřeba paměť naalokovat
    int N = 20;
    vyber = (char *) malloc (N * sizeof(char));
    
    a po použití uvolnit
    free(vyber);
    
    Přičemž NIKDY nepoužívej scanf() tak jak jsi to zapsal. Když už to mermomocí musíš napsat právě takto, tak aspoň
    scanf ("%19s", vyber);
    
    Abys omezil možnost buffer-overflow.
    13.12.2005 22:05 oxymoron | skóre: 16 | blog: oxymoron | Bratislava
    Rozbalit Rozbalit vše Re: cyklus while a podivne spravanie
    ok dakujem velmi pekne skusim .....ale aj tak ma zaraza ze pod win to v poho funguje...a ze nie je inicializovana to som len zabudol moja chyba ale mam to tam.. :)
    Born to be root ... :-D | "..žebrák není ten, kto svobodu si získal, z toho se stává král.."
    13.12.2005 22:27 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: cyklus while a podivne spravanie
    To, že to ve windows funguje, je opravdu náhoda. Každá platforma je trochu jiná. Céčko je trochu zrádné v tom, že špatně napsaný program někdy funguje, jindy zase ne, chová se "záhadně" v závislosti na ledasčem a dost špatně se hledají chyby.

    Kdo s Céčkem teprve začíná, tak má dvojnásob složitou situaci. Jednak tápe, ale také používá "školské" ukázkové příklady, které jsou paměťově nenáročné a všechno se odehrává v zásobníku. Tam vznikají pravé záhady.

    Zatímco když hrábneš někam daleko do paměti, která není tvoje, tak tě systém hned odstřelí a člověk hned ví, na čem je (teda někdy).

    No nic, zkus tohle řešení:
    #include<string.h>
    #include<stdio.h>
    #include<stdlib.h>
    
    typedef struct {
      char meno[10];
      char priez[20];
      int oscislo;
      char znamka;
    } STUD;
    
    void vlozStud(int *pocet) {
      (*pocet)++;
    }
    
    
    int main() {
      
      int pocet, N = 20;
      char *vyber;
      STUD *student;
      
      pocet=0;
    	
      student=(STUD *) malloc(1*sizeof(student));
      vyber = (char *) malloc(N*sizeof(char));
     
      printf("%d\n",pocet);
      
      while(1){ 
        scanf("%19s", vyber);
        if (!strcmp(vyber, "x")) break;
        if (!strcmp(vyber, "b")) vlozStud(&pocet);
        printf("%d",pocet);
      }
      
      printf("%d",pocet);
      free(student);
      free(vyber);
      return (0);
    }
    
    (Chtěl jsem napsat ten program slušněji, ale to už bych ho příliš měnil.)
    14.12.2005 08:27 Martin
    Rozbalit Rozbalit vše Re: cyklus while a podivne spravanie
    Tak zkuste ten svůj původní program spustit pod windows a místo jednoho písmenka jich zadejte najednou třeba dvacet a vsadil bych se že ten program spadne i pod windows, protože si něco přepíšete.

    Nebo zkuste mezi
    int pocet;
    char vyber;

    vložit nějakou proměnou, kterou dále v programu nijak nepoužijete (doufám, že ji kompilátor bez optimalizace nevyhodí, pokud ano, tak ji nějak nesmyslně použijte, aby zůstala v tom programu zachována). A spusťte program pod linuxem a zadejte jedno písmenko a program najednou bude chodit v pořádku.

    14.12.2005 11:59 oxymoron | skóre: 16 | blog: oxymoron | Bratislava
    Rozbalit Rozbalit vše Re: cyklus while a podivne spravanie
    Dakujem vsetkym velmi pekne za odpovede :)
    Born to be root ... :-D | "..žebrák není ten, kto svobodu si získal, z toho se stává král.."

    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.