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 14:44 | Nová verze

    Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.

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

    Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.

    Ladislav Hagara | Komentářů: 17
    včera 02:00 | Nová verze

    Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    23.12. 18:33 | Nová verze

    Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.

    Ladislav Hagara | Komentářů: 0
    23.12. 13:55 | Nová verze

    Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 0
    23.12. 12:44 | Nová verze

    Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.

    Ladislav Hagara | Komentářů: 0
    22.12. 23:44 | Nová verze

    Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.

    Ladislav Hagara | Komentářů: 0
    21.12. 05:00 | Nová verze

    Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 2
    21.12. 01:55 | Nová verze

    GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 0
    19.12. 17:22 | IT novinky

    Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.

    Ladislav Hagara | Komentářů: 14
    Kdo vám letos nadělí dárek?
     (33%)
     (2%)
     (11%)
     (2%)
     (1%)
     (2%)
     (15%)
     (19%)
     (14%)
    Celkem 85 hlasů
     Komentářů: 18, poslední včera 15:30
    Rozcestník

    Dotaz: c++ hledani v textovem souboru

    7.11.2013 16:58 marek33
    c++ hledani v textovem souboru
    Přečteno: 971×
    jak overit zda je v textovem souboru ulozeno slovo, ktere uzivatel zadal?

    Odpovědi

    7.11.2013 17:32 Milan Roubal | skóre: 25
    Rozbalit Rozbalit vše Re: c++ hledani v textovem souboru
    #include <stdlib.h>
    
    int main(void)
    {
      system("grep -e slovo soubor.txt");
    }
    7.11.2013 22:44 bjarne
    Rozbalit Rozbalit vše Re: c++ hledani v textovem souboru
    To je lajdácké c++, za to zápočet v životě nedostane. Správně tam mělo být include cstdlib, void v závorkách do ++ taky nepatří a ještě by stálo za to vyhodnotit návratovou hodnotu, jestli se to teda našlo či nikoliv. Znovu a lépe!
    10.11.2013 20:37 Sten
    Rozbalit Rozbalit vše Re: c++ hledani v textovem souboru
    A když už se používá cstdlib, tak tam má být std::system ;-)
    7.11.2013 17:42 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: c++ hledani v textovem souboru
    Nejlepší bude otevřít soubor a pak běžným způsobem vyhledávat v textu. Pokud jde o jednoduché slovo a ne o regexp, celý graf se zredukuje na jednu cestu, tj. implementace bude poměrně snadná. Jen pozor na správné nastavení zpětné funkce; ta bude záviset na hledaném slově. Pokud jde o standardní text se slovy oddělenými mezerami, další možnost (snazší, méně efektivní (složitost závisí na délce hledaného slova), tupější, méně zábavná a méně poučná) je číst slovo od slova, ať už tak nebo tak, a porovnávat ho se vstupním slovem (i operátor == bude stačit).
    7.11.2013 19:41 potato
    Rozbalit Rozbalit vše Re: c++ hledani v textovem souboru
    Nastávají teď dlouhé zimní večery, takže implementace Aho–Corasick jistě přijde vhod, ale normálně bych soubor mmap()nul a použil memmem(), pokud se tedy má vyhledávat řetězec. Má-li se vyhledávat slovo v textu (tedy řešit kódování, normalizaci, rozpoznání hranic slov, etc.), tak si to rozhodně nepsat sám, ale použít knihovnu, metody jsou např. i v boostu.
    7.11.2013 20:46 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: c++ hledani v textovem souboru

    To je všechno pravda, ale měl jsem dojem, že otázka nápadně připomíná nějaký zápočťák. :-)

    8.11.2013 09:48 potato
    Rozbalit Rozbalit vše Re: c++ hledani v textovem souboru
    To je dost možné. Na druhé straně snad funkce standardní knihovny (tedy libc a libstdc++ pro C++) lze při řešení zápočťáků používat. Nebo musí otevírat soubory syscallem a napsat si kolem toho nějakou tu třídu či frameworčík? Možné je vše...
    9.11.2013 01:01 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: c++ hledani v textovem souboru

    Záleží na konkrétním zadání. Jestliže zadání říká například „implementujte insert a delete ve vyvážených stromech“, použití std::set asi nebude preferovaná metoda vypracování úkolu.

    Kromě toho je rozdíl mezi něčím, co je pouze technicky náročné bez jakéhokoliv přínosu pro pochopení algoritmů, a něčím, na čem se člověk učí. Jistě by šlo otevřít soubor klidně bez glibc, tedy nastudovat ABI, připravit data, vyvolat příslušný syscall a tak podobně. Přínos pro algoritmické myšlení tam ovšem nevidím ani v náznaku. Naopak (re)implementace něčeho jako std::set může programátora hodně obohatit. Pro vyhledávání v textu platí totéž.

    Jedním z dobrých rozlišovacích znaků mezi bezúčelnou duplikací knihoven a poučnou reimplementací zajímavého algoritmu může být portovatelnost. Otevření souboru nebude portovatelné ani z Linuxu na FreeBSD, zatímco my_great::set poběží všude možně, stejně jako Aho-Corasick.

    9.11.2013 10:05 potato
    Rozbalit Rozbalit vše Re: c++ hledani v textovem souboru
    S tím úplně souhlasím -- až na jednu věc. Viděl jsem dost vystudovaných informatiků ‚řešících‘ nějaký problém neuronovými sítěmi, genetickými algoritmy a pod., přičemž krachovali na neschopnosti otevřít soubor a přečíst z něj pole čísel. Takže ohledně důrazu čistě na techniky a algoritmy jsem trochu skeptický...
    9.11.2013 20:45 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: c++ hledani v textovem souboru

    Existují například vystudovaní informatici, pro které je dobrá znalost POSIXového API, zkušenost s kernelovým programováním, znalost několika jazyků od C a C++ přes Javu až po Python a pár běžných vývojových nástrojů (gcc/clang, gdb, valgrind, KDevelop, JDK, Eclipse/IntelliJ, Git, SVN, ...) samozřejmostí, bez které si neumějí informatiku představit.

    Existují ovšem také „ti druzí informatici“, kteří nejsou o nic horší nebo lepší, o nic hloupější či chytřejší, ale podle mého názoru by si měli říkat spíš „matematici“. Zabývají se pouze teoretickými záležitostmi, získat jednoduchý projekt z repository je pro ně nepřekonatelný problém, desktopy jim musí instalovat správce sítě a v mém oblíbeném testu (napsat, přeložit a spustit Hello World v libovolném kompilovaném jazyce) by někteří neuspěli.

    Vědecký přínos takových teoretických informatiků může být v konečném součtu větší než v případě těch praktických. Problém ovšem může nastat, když se teoretici rozhodnou pracovat v industry, protože z hlediska praktických dovedností dělají někteří z nich „vystudovaným informatikům“ ostudu. :-)

    Tvorba efektivního a udržovatelného software vyžaduje z každé oblasti něco. Znalost algoritmů a jejich vlastností je nutné skloubit s technickými dovednostmi a se schopností srozumitelně formulovat problém. V tom je věda, řemeslo i umění zároveň.

    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.