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

    Singularity (YouTube) je nejnovější otevřený film od Blender Studia. Jedná se o jejich první 4K HDR film.

    Ladislav Hagara | Komentářů: 0
    dnes 16:55 | Zajímavý software

    Vyšla hra Život Není Krásný: Poslední Exekuce (Steam, ProtonDB). Kreslená point & click adventura ze staré školy plná černého humoru a nekorektního násilí. Vžijte se do role zpustlého exekutora Vladimíra Brehowského a projděte s ním jeho poslední pracovní den. Hra volně navazuje na sérii Život Není Krásný.

    Ladislav Hagara | Komentářů: 0
    dnes 14:00 | Zajímavý projekt

    Společnost Red Hat představila Fedora Hummingbird, tj. linuxovou distribuci s nativním kontejnerovým designem určenou pro vývojáře využívající AI agenty.

    Pinhead | Komentářů: 3
    dnes 02:22 | Zajímavý software

    Hru The Legend of Zelda: Twilight Princess od společnosti Nintendo si lze nově díky projektu Dusklight (původně Dusk) a reverznímu inženýrství zahrát i na počítačích a mobilních zařízeních. Vyžadována je kopie původní hry (textury, modely, hudba, zvukové efekty, …). Ukázka na YouTube. Projekt byl zahájen v srpnu 2020.

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

    Byla vydána nová major verze 29.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Detailní přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    včera 21:22 | Bezpečnostní upozornění

    Po zranitelnostech Copy Fail a Dirty Frag přichází zranitelnost Fragnesia. Další lokální eskalace práv na Linuxu. Zatím v upstreamu neopravena. Přiřazeno ji bylo CVE-2026-46300.

    Ladislav Hagara | Komentářů: 1
    včera 14:00 | Komunita

    Sovereign Tech Agency (Wikipedie) prostřednictvím svého fondu Sovereign Tech Fund podpoří KDE částkou 1 285 200 eur.

    Ladislav Hagara | Komentářů: 7
    včera 12:55 | IT novinky

    Google na včerejší akci The Android Show | I/O Edition 2026 (YouTube) představil celou řadu novinek: Gemini Intelligence, notebooky Googlebook, novou generaci Android Auto, …

    Ladislav Hagara | Komentářů: 0
    včera 12:33 | IT novinky

    Evropská komise by do léta mohla předložit návrh normy omezující používání sociálních sítí dětmi v zájmu jejich bezpečí na internetu. Prohlásila to včera předsedkyně EK Ursula von der Leyenová, podle níž řada zemí Evropské unie volá po zavedení věkové hranice pro sociální sítě. EU částečně řeší bezpečnost dětí v digitálním prostředí v již platném nařízení o digitálních službách (DSA), podle německé političky to však není dostatečné a

    … více »
    Ladislav Hagara | Komentářů: 46
    včera 04:11 | Nová verze

    Multiplatformní open source aplikace scrcpy (Wikipedie) pro zrcadlení připojeného zařízení se systémem Android na desktopu a umožňující ovládání tohoto zařízení z desktopu, byla vydána v nové verzi 4.0.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (25%)
    Celkem 1606 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Čtení z náhodného místa v souboru

    14.1.2010 23:25 Okallasch | skóre: 1
    Čtení z náhodného místa v souboru
    Přečteno: 332×
    Zdravim Céčkaří. Potřeboval bych radu... //Předem se omlouvám jestli řešim už vyřešené téma... Píši program k maturitě a jmenuje se Kalendář a diář v jednom.

    Měl by pracovat takto uživately se po spuštení objeví hlavní menu kde si může vybrat ze 4 možností: 1-Kalendář 2-Diář 3-Nastavení 4-Konec

    Zatim mám program napsaný ve fázi takovéto:

    Pokud uživatel vybere první možnost otevře se externí soubor s názvem kalendar.txt a vyplivne na obrazovku celý svůj obsah... což znamená datumy+svátky od 1.1. až do 31.12. Program ještě těsně po spuštení zjistí aktuální datum a čas a vypíše ho nad hlavní menu... A já bych potřeboval aby aktuální datum použil k nalezení místa v tom souboru kalendar.txt a od toho místa vytiskly na obrazovku aktuální den + 7 dalších dnů a tam se poté zastavil. Prozatim mám napsaný cyklus pro čtení znaků jeden za druhym až do konce souboru tedy EOF. Potřebuju poradit od vás zkušených jak tento cyklus upravit aby se dělo to co potřebuji... Zkoušel jsem nějaké pokusy, ale marně zkoušel jsem i funkce fseek, ale s tou moc ještě neumim :-(... Tak do hoďky budu na svém linuxu a hodim sem zdroják... Zatim s pozdravem Ondřej Kallasch

    Odpovědi

    15.1.2010 00:12 12345 | skóre: 41 | blog:
    Rozbalit Rozbalit vše Re: Čtení z náhodného místa v souboru
    Pokud jde o svátky, tak bys třeba mohl mít soubor, kde by na každém řádku byl jeden svátek (366 řádků). Pořadí aktuálního dne v roce spočítáš lehce (pozor na přestupný rok), najdeš si správný řádek, přečteš jich dalších sedm…

    Kromě těch svátků by ale bylo rozumnější kalendář generovat on-the-fly. Neměl jsi doufám v úmyslu mít v nějakém souboru hotový, naformátovaný kalendář včetně dat („datumů“)? Ono ne že by to nefungovalo, ale až bys chtěl nějak změnit třeba formát výstupu… práce s takovými daty by byla horší než škrábání levou nohou za pravým uchem :-)
    15.1.2010 00:54 Okallasch | skóre: 1
    Rozbalit Rozbalit vše Re: Čtení z náhodného místa v souboru
    Příloha:
    Ano měl jsem to v plánu mít naformátovaný soubor s celým kalendářem... Sice se mi nepodařilo se ted z neznameho duvodu pripojit s fedorou k netu ale nastesti jsem pretahl zdrojak na flasku takze to postnu pres okna.

    Tady to je jak jsem sliboval, nezhrozte se upravy a stavby programu zatim to nemam vubec srovnane a je to jen ranná verze, ale budu rád za každý návrh na zjednodušení nebo vylepšení programu.. tak uplouduju samotný program.
    15.1.2010 00:56 Okallasch | skóre: 1
    Rozbalit Rozbalit vše Re: Čtení z náhodného místa v souboru
    Příloha:
    A zde ještě přikládám soubor kalendar.txt
    15.1.2010 02:12 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Čtení z náhodného místa v souboru

    1. Jak už tu padlo, mít předformátovaný kalendář je nesmysl. Kdyby nic jiného, fungovalo by to jen pro jeden konkrétní rok. Pokud se vám nechce počítat den v týdnu, udělá to za vás funkce localtime(), kterou stejně používáte.

    2. Funkce fseek() by měla smysl pouze v případě, že by bylo možné odvodit (bytovou) pozici v souboru z data, tedy např. pokud by jednotlivé záznamy měly pevnou délku. Pro vás bude užitečnější spíš čtení po řádcích pomocí fgets(), ale to záleží na formátu toho pomocného souboru.

    Jinak přeji hodně štěstí u maturity. Vzhledem k úrovni znalostí dvou maturitních předmětů, kterou jste předvedl ve svém dotazu, ho asi budete potřebovat.

    15.1.2010 02:48 Okallasch | skóre: 1
    Rozbalit Rozbalit vše Re: Čtení z náhodného místa v souboru
    děkuji, zřejmě budu... naštestí maturita se skládá pouze ze samotné práce + obhajoba, takže mě nemůže nic překvapit, protože se mě budou ptát jen na věci ohledně práce... No je pravda, že nyní lituju výběrem tématu...
    15.1.2010 03:14 Radovan
    Rozbalit Rozbalit vše Re: Čtení z náhodného místa v souboru
    A nebude jednodušší načíst celé řádky, které mohou mít různou délku? ;-)

    char *fgets(char *s, int size, FILE *stream);

    Podrobnosti viz man char a ukázka tady. Pro fseek() bys potřeboval vědět kde jednotlivé dny začínají, to by znamenalo mít všechny položky doplněné mezerami na stejnou délku a pozici vypočítat, nebo mít tabulku s indexy, třeba na začátku toho souboru se svátky.

    Prostě si udělej pole 12*31*max_délka_řádku a do něj načti všechny svátky ze souboru najednou, budeš mít 372 řádky, těch pár bytů navíc už tě nezabije. Pak si v programu musíš jen ohlídat aby v těch sedmi dnech nezobrazoval třeba 31. února a aby na přelomu roku skočil do ledna a ne do dalšího měsíce, tam bych použil pole s délkami měsíců int delka[12]={31,28,31,30.....31}; - únor se v přestupném roce změní na 29. Jen pozor na to že indexy měsíců i dnů jsou o 1 nižší než hodnota, jinak bys musel mít 13*32*délka! Spočítat den v týdnu už nebude problém, abys ho vypsal k datu.

    Jestli do toho diáře budeš chtít zapisovat poznámky a ukládat je na disk, tak si to program může stejným způsobem uložit do podobného souboru, v nejhorším případě i do toho samého za kalendář.

    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.