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í
×
    včera 22:33 | Bezpečnostní upozornění

    npm balíčky @redhat-cloud-services byly kompromitovány.

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

    Byly publikovány informace o zranitelnosti CVE-2026-46243 pojmenované CIFSwitch v Linuxu od roku 2007. Běžný uživatel může získat práva roota (lokální eskalaci práv). V upstreamu je již opraveno.

    Ladislav Hagara | Komentářů: 0
    včera 19:22 | IT novinky

    Nvidia na své konferenci NVIDIA GTC Taipei 2026 představila řadu novinek. Společně s Microsoftem představili superčip NVIDIA RTX Spark (až 6 144 jader GPU, 20 jader CPU, 1 petaflop AI výkonu v FP4 a 128 GB jednotné paměti). První notebooky a stolní počítače s tímto čipem od Nvidie místo Intelu nebo AMD by se měly na trh dostat na podzim letošního roku.

    Ladislav Hagara | Komentářů: 1
    včera 13:22 | IT novinky

    Na Kickstarteru běží kampaň na podporu kapesního počítače s Linuxem CardputerZero od společnosti M5Stack. Postaven je na Raspberry Pi Compute Module 0. Podporuje moduly M5. Koupit lze s rozšířeními LoRa a CC1101.

    Ladislav Hagara | Komentářů: 0
    včera 11:11 | Pozvánky

    Tento týden se bude vyznačovat zejména deštěm, a proto vás může zajímat, že již v úterý proběhne 63. Virtuální Bastlírna, která se bude odehrávat přímo v teple vašich domovů a bastlíren. Proto se připojte k této volné otevřené diskuzi bastlířů, techniků, vědců, ve které se probírají novinky a zajímavá témata z techniky. Mezi největší novinky bude tentokrát patrně patřit oznámení hackerského nástroje Flipper One. Zároveň úspěšně probíhá

    … více »
    bkralik | Komentářů: 0
    včera 03:22 | Nová verze

    86Box (Wikipedie), tj. emulátor retro počítačů založených na x86, byl vydán ve verzi 6.0. Přibyly například zvuky pevného disku. Na GitHubu jsou vedle zdrojových kódů ke stažení také připravené balíčky ve formátu AppImage.

    Ladislav Hagara | Komentářů: 0
    včera 03:00 | Nová verze

    Byla vydána nová verze 4.6 audio přehrávače Audacious (Wikipedie). Z novinek lze vypíchnout nový plugin pro procházení soubory, podporu audio formátu Musepack SV8 nebo přechod na build systém Meson.

    Ladislav Hagara | Komentářů: 0
    31.5. 15:55 | Nová verze

    Alliance for Open Media vydala verzi 1.0.0 specifikace svobodného videoformátu AV2. Jean-Baptiste Kempf, prezident neziskové organizace VideoLAN stojící za svobodným multiplatformním multimediálním přehrávačem a frameworkem VLC, představil na svém blogu dekodér AV2 s názvem dav2d.

    Ladislav Hagara | Komentářů: 0
    31.5. 15:00 | Nová verze

    V aktuálním přehledu vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie) bylo oznámeno vydání nové verze 0.2.0.

    Ladislav Hagara | Komentářů: 0
    31.5. 14:33 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 26.5.1. Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1794 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: 336×
    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.