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 03:33 | Zajímavý software

    AI Claude Code od Anthropicu lépe rozumí frameworku Nette, tj. open source frameworku pro tvorbu webových aplikací v PHP. David Grudl napsal plugin Nette pro Claude Code.

    Ladislav Hagara | Komentářů: 0
    dnes 00:11 | Nová verze

    Byla vydána prosincová aktualizace aneb nová verze 1.108 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.108 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    včera 20:44 | IT novinky

    Na lasvegaském veletrhu elektroniky CES byl předveden prototyp notebooku chlazeného pomocí plazmových aktuátorů (DBD). Ačkoliv se nejedná o první nápad svého druhu, nepochybně to je první ukázka praktického použití tohoto způsobu chlazení v běžné elektronice. Co činí plazmové chladící akční členy technologickou výzvou je především vysoká produkce jedovatého ozonu, tu se prý podařilo firmě YPlasma zredukovat dielektrickou

    … více »
    NUKE GAZA! 🎆 | Komentářů: 2
    včera 16:33 | Zajímavý projekt

    Patchouli je open source implementace EMR grafického tabletu (polohovací zařízení). Projekt je hostován na GitLabu.

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

    Český Nejvyšší soud potvrdil, že česká právní úprava plošného uchování dat o elektronické komunikaci porušuje právo Evropské unie. Pravomocným rozsudkem zamítl dovolání ministerstva průmyslu a obchodu. To se teď musí omluvit novináři Českého rozhlasu Janu Cibulkovi za zásah do práv na ochranu soukromí a osobních údajů. Ve sporu jde o povinnost provozovatelů sítí uchovávat údaje, ze kterých lze odvodit, kdo, s kým a odkud komunikoval.

    Ladislav Hagara | Komentářů: 4
    včera 02:11 | Komunita

    Google bude vydávat zdrojové kódy Androidu pouze dvakrát ročně. Ve 2. a 4. čtvrtletí.

    Ladislav Hagara | Komentářů: 0
    7.1. 17:22 | Zajímavý článek

    Bezpečnostní specialista Graham Helton z Low Orbit Security si všímá podezřelých anomálií v BGP, zaznamenaných krátce před vstupem ozbrojených sil USA na území Venezuely, které tam během bleskové speciální vojenské operace úspěšně zatkly venezuelského diktátora Madura za narkoterorismus. BGP (Border Gateway Protocol) je 'dynamický směrovací protokol, který umožňuje routerům automaticky reagovat na změny topologie počítačové sítě' a je v bezpečnostních kruzích znám jako 'notoricky nezabezpečený'.

    NUKE GAZA! 🎆 | Komentářů: 9
    7.1. 06:11 | 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,58 %. 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,32 %. Procesor AMD používá 67,43 % hráčů na Linuxu.

    Ladislav Hagara | Komentářů: 3
    7.1. 05:55 | IT novinky

    V Las Vegas probíhá veletrh CES (Consumer Electronics Show, Wikipedie). Firmy představují své novinky. Například LEGO představilo systém LEGO SMART Play: chytré kostky SMART Brick, dlaždičky SMART Tagy a SMART minifigurky. Kostka SMART Brick dokáže rozpoznat přítomnost SMART Tagů a SMART minifigurek, které se nacházejí v její blízkosti. Ty kostku SMART Brick aktivují a určí, co má dělat.

    Ladislav Hagara | Komentářů: 0
    6.1. 18:33 | Bezpečnostní upozornění

    Vládní CERT (GovCERT.CZ) upozorňuje (𝕏) na kritickou zranitelnost v jsPDF, CVE-2025-68428. Tato zranitelnost umožňuje neautentizovaným vzdáleným útočníkům číst libovolné soubory z lokálního souborového systému serveru při použití jsPDF v prostředí Node.js. Problém vzniká kvůli nedostatečné validaci vstupu u cest k souborům předávaných několika metodám jsPDF. Útočník může zneužít tuto chybu k exfiltraci citlivých

    … více »
    Ladislav Hagara | Komentářů: 6
    Které desktopové prostředí na Linuxu používáte?
     (1%)
     (4%)
     (0%)
     (10%)
     (22%)
     (4%)
     (5%)
     (3%)
     (11%)
     (54%)
    Celkem 297 hlasů
     Komentářů: 7, poslední včera 15:35
    Rozcestník

    Dotaz: Konverze string -> integer

    22.10.2011 11:39 Milan63
    Konverze string -> integer
    Přečteno: 608×
    Resim problem konverze stringu na integer, pouzivam tuto funkci:
    int str2int(string value)
    {
        int number;
        
        if(sscanf(value.c_str(), "%d", &number) == EOF)
        {
            cerr << "Input file is not in correct format" << endl;
            exit(EXIT_FAILURE);
        }
              
        return number;
    }
    
    Ta funguje v poradku, pokud prevadim napr. "123", pokud do teto funkce ale poslu napriklad retezec "xxx", vrati mi nejake zaporne cislo (misto toho, aby skoncila chybou). Jak tedy mohu tuto funkci opravit, aby mi v pripade nevalidniho vstupu tuto skutecnost opravdu zahlasila?

    Řešení dotazu:


    Odpovědi

    22.10.2011 11:57 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: Konverze string -> integer
    Nainicializuj number na hodnotu, ktorú to má vrátiť, keď sa vstup na číslo skonvertovať nedá. Alebo výsledok sscanf() kontroluj nielen na EOF ale aj na nulu.
    22.10.2011 11:59 Kit
    Rozbalit Rozbalit vše Re: Konverze string -> integer
    Vypiš si návratovou hodnotu funkce sscanf() a bude ti to jasné hned. Zřejmě je chybou ji testovat na konstantu EOF, když na konec souboru nenarazila.

    V jakém je to vlastně jazyku?
    24.10.2011 10:45 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Konverze string -> integer
    Já tomu říkám „C+“ .
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    24.10.2011 12:14 Kit
    Rozbalit Rozbalit vše Re: Konverze string -> integer
    Zkusil jsem si to po úpravách v C (protože v C a C++ skoro nic nedělám) a vyšlo mi, že kdž v podmínce místo ==EOF bude <=0, tak by to mělo fungovat.

    Na příkladu je vidět, jak nebezpečné může být používání neinicializovaných proměnných.
    24.10.2011 12:58 l4m4
    Rozbalit Rozbalit vše Re: Konverze string -> integer
    Pouze v případě, že se bude převádět právě jedna hodnota. Viz můj dva dny starý příspěvek...
    24.10.2011 13:03 Kit
    Rozbalit Rozbalit vše Re: Konverze string -> integer
    Jasně. Aby to bylo správně i logicky, mělo by být spíš <1, pokud očekávám jednu hodnotu, <3, pokud očekávám 3 hodnoty apod.
    24.10.2011 15:12 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Konverze string -> integer
    No to bych raději volil != 1, to je přesnější.

    Ale jinak pokud by to mělo být C++, ne jen C+, tak by to mohlo být třeba takto:
    int str2int(std::string value)
    {
      std::istringstream iss(value);
      int number;
      if((iss >> number).fail())
      {
        std::cerr << "The input number is in a invalid format" << std::endl;
        exit(3);//or throw a exception…
      }
      return number;
    }
    
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    22.10.2011 16:16 l4m4
    Rozbalit Rozbalit vše Re: Konverze string -> integer
    Tak funkce to samozřejmě hlásí, a to tak, že vrátí nulu, protože proběhlo celkem nula úspěšných konverzí. Viz dokumentaci. EOF vrací funkce z rodiny scanf() pouze v případě, kdy nejde číst vstup, což zrovna u sscanf() moc nenastává.

    Jinak tenhle prapodivný mix C a C++ taky nechápu.
    24.10.2011 12:25 petrz
    Rozbalit Rozbalit vše Re: Konverze string -> integer
    ja by ch na to pouzil funkci atoi. (pokud ovsem neni cilem "udelej si sam")
    24.10.2011 13:00 l4m4
    Rozbalit Rozbalit vše Re: Konverze string -> integer
    S atoi() je kontrola chyb konverze opravdu jednoduchá, jelikož žádnou kontrolu nedělá ;)

    Šlo by ale samozřejmě použít strtol() a podobné.

    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.