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 05:22 | Komunita

    FEX, tj. open source emulátor umožňující spouštět aplikace pro x86 a x86_64 na architektuře ARM64, byl vydán ve verzi 2512. Před pár dny FEX oslavil sedmé narozeniny. Hlavní vývojář FEXu Ryan Houdek v oznámení poděkoval společnosti Valve za podporu. Pierre-Loup Griffais z Valve, jeden z architektů stojících za SteamOS a Steam Deckem, v rozhovoru pro The Verge potvrdil, že FEX je od svého vzniku sponzorován společností Valve.

    Ladislav Hagara | Komentářů: 0
    dnes 03:22 | Nová verze

    Byla vydána nová verze 2.24 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.

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

    Společnost Proton AG stojící za Proton Mailem a dalšími službami přidala do svého portfolia online tabulky Proton Sheets v Proton Drive.

    Ladislav Hagara | Komentářů: 0
    6.12. 15:55 | Komunita

    O víkendu (15:00 až 23:00) probíha EmacsConf 2025, tj. online konference vývojářů a uživatelů editoru GNU Emacs. Sledovat ji lze na stránkách konference. Záznamy budou k dispozici přímo z programu.

    Ladislav Hagara | Komentářů: 0
    6.12. 15:44 | Komunita

    Provozovatel internetové encyklopedie Wikipedia jedná s velkými technologickými firmami o uzavření dohod podobných té, kterou má s Googlem. Snaží se tak zpeněžit rostoucí závislost firem zabývajících se umělou inteligencí (AI) na svém obsahu. Firmy využívají volně dostupná data z Wikipedie k trénování jazykových modelů, což zvyšuje náklady, které musí nezisková organizace provozující Wikipedii sama nést. Automatické programy

    … více »
    Ladislav Hagara | Komentářů: 27
    6.12. 15:22 | IT novinky

    Evropská komise obvinila síť 𝕏 z porušení unijních pravidel, konkrétně nařízení Evropské unie o digitálních službách (DSA). Vyměřila jí za to pokutu 120 milionů eur (2,9 miliardy Kč). Pokuta je podle názoru amerického ministra zahraničí útokem zahraničních vlád na americký lid. K pokutě se vyjádřil i americký viceprezident: „EU by měla podporovat svobodu projevu, a ne útočit na americké společnosti kvůli nesmyslům“.

    Ladislav Hagara | Komentářů: 21
    5.12. 17:11 | IT novinky

    Společnost Jolla spustila kampaň na podporu svého nového telefonu Jolla Phone se Sailfish OS. Dodání je plánováno na první polovinu příštího roku. Pokud bude alespoň 2 000 zájemců. Záloha na telefon je 99 €. Cena telefonu v rámci kampaně je 499 €.

    Ladislav Hagara | Komentářů: 30
    5.12. 15:11 | IT novinky

    Netflix kupuje Warner Bros. včetně jejích filmových a televizních studií HBO Max a HBO. Za 72 miliard dolarů (asi 1,5 bilionu korun).

    Ladislav Hagara | Komentářů: 2
    5.12. 14:11 | IT novinky

    V Las Vegas dnes končí pětidenní konference AWS re:Invent 2025. Společnost Amazon Web Services (AWS) na ní představila celou řadu novinek. Vypíchnout lze 192jádrový CPU Graviton5 nebo AI chip Trainium3.

    Ladislav Hagara | Komentářů: 0
    5.12. 00:33 | Nová verze

    Firma Proxmox vydala novou serverovou distribuci Datacenter Manager ve verzi 1.0 (poznámky k vydání). Podobně jako Virtual Environment, Mail Gateway či Backup Server je založená na Debianu, k němuž přidává integraci ZFS, webové administrační rozhraní a další. Datacenter Manager je určený ke správě instalací právě ostatních distribucí Proxmox.

    |🇵🇸 | Komentářů: 14
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (48%)
     (19%)
     (17%)
     (22%)
     (15%)
     (24%)
     (16%)
     (18%)
    Celkem 440 hlasů
     Komentářů: 18, poslední 2.12. 18:34
    Rozcestník

    Dotaz: Převod off64_t na řetězec

    Jardík avatar 14.4.2006 22:04 Jardík | skóre: 40 | blog: jarda_bloguje
    Převod off64_t na řetězec
    Přečteno: 302×
    Chvilku jsem googlil, ale nikde jsem nenašel, jak převést na řetězec neznaménkové 64bit číslo jako je např. off64_t. Zkoušel jsem to pomocí sprintf, ale bezúspěšně.
    Věřím v jednoho Boha.

    Odpovědi

    Luboš Doležel (Doli) avatar 14.4.2006 22:07 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Převod off64_t na řetězec
    sprintf, %llu
    Jardík avatar 14.4.2006 22:26 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Převod off64_t na řetězec
    Bohužel to nefunguje:
    off64_t cislo = 1024*1024*1024*6;
    char buffer[500];
    sprintf( buffer, "%llu", cislo );
    
    Ukáže to 2147483648, což není správně.
    Věřím v jednoho Boha.
    Luboš Doležel (Doli) avatar 14.4.2006 22:35 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Převod off64_t na řetězec
    Takhle to dělat nemůžete:
    test.c:10: warning: integer overflow in expression
    test.c:10: warning: overflow in implicit constant conversion
    Musíte alespoň za jedno číslo přidat ULL.
    $ ./test
    6442450944
    
    Jardík avatar 14.4.2006 22:39 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Převod off64_t na řetězec
    I když dám ULL za všechny, tak to hodí stejně stejný výsledek. Nemůže to dělat kompilátor (MinGW)?
    Věřím v jednoho Boha.
    14.4.2006 22:37 #Tom | skóre: 32 | blog: Inspirace, aneb co jsem kde vyhrabal
    Rozbalit Rozbalit vše Re: Převod off64_t na řetězec
    Co tohle?
    sprintf(buffer, "%.0lf", (double) cislo);
    
    Jardík avatar 14.4.2006 22:44 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Převod off64_t na řetězec
    Tohle funguje (s tím ULL), ale není double znaménkový? Co když budu mít číslo 2^64?
    Věřím v jednoho Boha.
    14.4.2006 22:46 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Převod off64_t na řetězec
    Typ off_t je z podstaty věci také znaménkový.
    14.4.2006 22:46 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Převod off64_t na řetězec
    A off64_t samozřejmě také.
    Jardík avatar 14.4.2006 22:59 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Převod off64_t na řetězec
    Teď jsem se kouknul do sys/types.h a on je opravdu znaménkový. Takže se omlouvám za nesprávný výrok. Tím se ale také vše mění. Takže co teď předat funkci sprintf místo %llu a co psát za čísla místo ULL aby nedošlo k přetečení?
    Věřím v jednoho Boha.
    Luboš Doležel (Doli) avatar 14.4.2006 23:46 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Převod off64_t na řetězec
    %lld a LL
    Jardík avatar 14.4.2006 23:58 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Převod off64_t na řetězec
    off64_t cislo = 1024*1024*1024*6;
    char buffer[500];
    sprintf( buffer, "%lld", cislo );
    
    =-2147483648 = Špatně
    off64_t cislo = 1024LL*1024LL*1024LL*6LL;
    char buffer[500];
    sprintf( buffer, "%lld", cislo );
    
    =-2147483648 = Špatně
    off64_t cislo = 1024*1024*1024*6;
    char buffer[500];
    sprintf( buffer, "%.0lf", (double)cislo );
    
    =-2147483648 = Špatně
    off64_t cislo = 1024LL*1024LL*1024LL*6LL;
    char buffer[500];
    sprintf( buffer, "%.0lf", (double)cislo );
    
    =6442450944 = OK
    Zřejmě mi nic jiného nezbude a budu muset použít to přetypování. Zajímavé ale je, že tobě to funguje. Asi ten MinGW má fci sprintf nějakou divnou :-(.
    Věřím v jednoho Boha.
    15.4.2006 00:38 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Převod off64_t na řetězec
    Proč se bráníte použít odpovídající makro 'PRId64', jak jsem vám poradil dříve?
    Jardík avatar 15.4.2006 11:57 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Převod off64_t na řetězec
    Když jsem napsal sprintf( buffer, PRId64, cislo );, tak mi to ukázalo chybu, že proměnná není definována. Pak jsem se kouknul do toho hlavičkového souboru a zjistil, že musím před hlavičkový soubor připsat #define __STDC_FORMAT_MACROS. Poté se ale do bufferu dal řetězec "I64d". Pak jsem vyzkoušel sprintf( buffer, "%I64d", cislo); a ono to funguje :-). Díky moc za nakopnutí správným směrem.
    Věřím v jednoho Boha.
    Jardík avatar 15.4.2006 12:01 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Převod off64_t na řetězec
    Hmm. Z hlavičkového souboru inttypes.h:
    /* 7.8.1 Macros for format specifiers
     * 
     * MS runtime does not yet understand C9x standard "ll"
     * length specifier. It appears to treat "ll" as "l".
     * The non-standard I64 length specifier causes warning in GCC,
     * but understood by MS runtime functions.
     */
    
    A pak mi nemá fungovat %lld a %llu.
    Věřím v jednoho Boha.
    14.4.2006 22:45 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Převod off64_t na řetězec
    Tak zkuste použít standardní hlavičkové soubory:
      #include <inttypes.h>
    
      ...
      
      printf(PRId64, cislo);
    

    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.