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 00:11 | Nová verze

    Open source modální textový editor Helix, inspirovaný editory Vim, Neovim či Kakoune, byl vydán ve verzi 25.07. Přehled novinek se záznamy terminálových sezení v asciinema v oznámení na webu. Detailně v CHANGELOGu na GitHubu.

    Ladislav Hagara | Komentářů: 0
    včera 20:44 | IT novinky

    Americký výrobce čipů Nvidia získal od vlády prezidenta Donalda Trumpa souhlas s prodejem svých pokročilých počítačových čipů používaných k vývoji umělé inteligence (AI) H20 do Číny. Prodej těchto čipů speciálně upravených pro čínský trh by tak mohl být brzy obnoven, uvedla firma na svém blogu. Americká vláda zakázala prodej v dubnu, v době eskalace obchodního sporu mezi oběma zeměmi. Tehdy to zdůvodnila obavami, že by čipy mohla využívat čínská armáda.

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

    3D software Blender byl vydán ve verzi 4.5 s prodlouženou podporou. Podrobnosti v poznámkách k vydání. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 0
    14.7. 22:22 | Komunita

    Open source webový aplikační framework Django slaví 20. narozeniny.

    Ladislav Hagara | Komentářů: 0
    14.7. 16:11 | Komunita

    V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.

    Ladislav Hagara | Komentářů: 0
    14.7. 11:33 | IT novinky

    Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.

    Ladislav Hagara | Komentářů: 28
    14.7. 10:55 | IT novinky

    Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.

    Ladislav Hagara | Komentářů: 23
    13.7. 17:55 | Zajímavý projekt

    Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.

    Ladislav Hagara | Komentářů: 17
    11.7. 16:44 | Komunita

    Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.

    Ladislav Hagara | Komentářů: 3
    11.7. 14:55 | Humor

    McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.

    Ladislav Hagara | Komentářů: 16
    Jaký je váš oblíbený skriptovací jazyk?
     (59%)
     (26%)
     (7%)
     (3%)
     (1%)
     (1%)
     (4%)
    Celkem 399 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Dotaz: c++ hledani v textovem souboru

    7.11.2013 16:58 marek33
    c++ hledani v textovem souboru
    Přečteno: 948×
    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.