abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 13:11 | Nová verze

    Coppwr, tj. GUI nástroj pro nízkoúrovňové ovládání PipeWire, byl vydán v nové verzi 1.6.0. Zdrojové kódy jsou k dispozici na GitHubu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 22:33 | Nová verze

    Byla vydána dubnová aktualizace aneb nová verze 1.89 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Vypíchnout lze, že v terminálu lze nově povolit vkládání kopírovaného textu stisknutím středního tlačítka myši. Ve verzi 1.89 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 7
    včera 21:22 | Nová verze

    Proton, tj. fork Wine integrovaný v Steam Play a umožňující v Linuxu přímo ze Steamu hrát hry určené pouze pro Windows, byl vydán ve verzi 9.0-1 (𝕏). Přehled novinek se seznamem nově podporovaných her na GitHubu. Aktuální přehled her pro Windows běžících díky Protonu také na Linuxu na stránkách ProtonDB.

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

    Byla vydána verze 1.78.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání na GitHubu. Vyzkoušet Rust lze například na stránce Rust by Example.

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

    Služba Dropbox Sign (původně HelloSign) pro elektronické podepisování smluv byla hacknuta.

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

    Byla vydána nová major verze 8.0 textového editoru GNU nano (Wikipedie). Podrobný přehled novinek a oprav v oznámení v diskusním listu info-nano nebo v souboru ChangeLog na Savannah. Volbou --modernbindings (-/) lze povolit "moderní" klávesové zkratky: ^C kopírování, ^V vložení, ^Z vrácení zpět, … Tato volba je aktivována také pokud binárka s nano nebo link na ni začíná písmenem "e".

    Ladislav Hagara | Komentářů: 3
    1.5. 23:22 | IT novinky

    Před 60 lety, 1. května 1964, byl představen programovací jazyk BASIC (Beginners' All-purpose Symbolic Instruction Code).

    Ladislav Hagara | Komentářů: 16
    1.5. 22:22 | Nová verze

    Byla vydána nová verze 12.0 minimalistické linuxové distribuce (JeOS, Just enough Operating System) pro Kodi (dříve XBMC) a multimediálního centra LibreELEC (Libre Embedded Linux Entertainment Center). Jedná se o fork linuxové distribuce OpenELEC (Open Embedded Linux Entertainment Center). LibreELEC 12.0 přichází s Kodi 21.0 "Omega".

    Ladislav Hagara | Komentářů: 0
    1.5. 12:55 | Nová verze

    Microsoft vydal novou velkou aktualizaci 2404.23 v září 2019 pod licencí SIL Open Font License (OFL) zveřejněné rodiny písma Cascadia Code pro zobrazování textu v emulátorech terminálu a vývojových prostředích.

    Ladislav Hagara | Komentářů: 0
    1.5. 05:33 | Nová verze

    OpenTofu, tj. svobodný a otevřený fork Terraformu vzniknuvší jako reakce na přelicencování Terraformu z MPL na BSL (Business Source License) společností HashiCorp, bylo vydáno ve verzi 1.7.0. Přehled novinek v aktualizované dokumentaci. Vypíchnout lze State encryption.

    Ladislav Hagara | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (13%)
     (29%)
     (38%)
     (21%)
    Celkem 24 hlasů
     Komentářů: 5, poslední dnes 12:22
    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: 266×
    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: 72 | 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.