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 05:33 | Bezpečnostní upozornění

    Byla nalezena vážná bezpečnostní chyba v telnetd z balíčku GNU InetUtils. Týká se verzí GNU InetUtils od 1.9.3 z 12. května 2015 až po aktuální 2.7 z 14. prosince 2025. Útočník může obejít autentizaci a získat root přístup, jelikož telnetd nekontroluje předaný obsah proměnné prostředí USER a pokud obsahuje "-f root"…

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Komunita

    Stanislav Aleksandrov předložil patch rozšiřující KWin (KDE Plasma) na 3D virtuální desktopové prostředí (videoukázka v mp4).

    Ladislav Hagara | Komentářů: 2
    včera 05:55 | IT novinky

    Digg (Wikipedie), "místo, kde můžete sdílet a objevovat to nejlepší z internetu – a nejen to", je zpět. Ve veřejné betě.

    Ladislav Hagara | Komentářů: 3
    včera 01:44 | Komunita

    Po .deb balíčcích Mozilla nově poskytuje také .rpm balíčky Firefoxu Nightly.

    Ladislav Hagara | Komentářů: 6
    včera 00:33 | IT novinky

    Vývojové prostředí IntelliJ IDEA slaví 25. narozeniny (YouTube).

    Ladislav Hagara | Komentářů: 0
    19.1. 23:55 | IT novinky

    Vedení společnosti NVIDIA údajně povolilo použití milionů knih ze známého 'warez' archivu Anna's Archive k výcviku umělé inteligence, ačkoliv vědělo, že archiv tyto knihy nezískal legální cestou. Žaloba, ve které se objevují i citace interních dokumentů společnosti NVIDIA, tvrdí, že NVIDIA přímo kontaktovala Anna's Archive a požadovala vysokorychlostní přístup k datům knihovny.

    NUKE GAZA! 🎆 | Komentářů: 9
    19.1. 14:33 | Zajímavý software

    Grafický správce balíčků Myrlyn pro SUSE a openSUSE, původně YQPkg, dospěl do stabilní verze 1.0.0. Postaven je nad libzypp a Qt 6. Projekt začal na SUSE Hack Weeku 24.

    Ladislav Hagara | Komentářů: 8
    19.1. 13:44 | Zajímavý projekt

    Vývojáři se podařilo vytvořit patch pro Wine, díky kterému je možné na linuxovém stroji nainstalovat a spustit Adobe Photoshop (testováno s verzemi Photoshopu PS2021 a PS2025). Dalším patchem se podařilo umožnit dokonce instalaci téměř celého Adobe Creative Cloud Collection 2023, vyjma aplikací Adobe XD a Adobe Fresco. Patch řeší kompatibilitu s windowsovými subsystémy MSHTML - jádrem prohlížeče Internet exporer, a MSXML3 - parserem

    … více »
    NUKE GAZA! 🎆 | Komentářů: 6
    19.1. 13:33 | IT novinky

    Hackeři zaútočili na portál veřejných zakázek a vyřadili ho z provozu. Systém, ve kterém musí být ze zákona sdíleny informace o veřejných zakázkách, se ministerstvo pro místní rozvoj (MMR) nyní pokouší co nejdříve zprovoznit. Úřad o tom informoval na svém webu a na sociálních sítích. Portál slouží pro sdílení informací mezi zadavateli a dodavateli veřejných zakázek.

    Ladislav Hagara | Komentářů: 12
    19.1. 12:22 | Nová verze

    Javascriptová knihovna jQuery (Wikipedie) oslavila 20. narozeniny, John Resig ji představil v lednu 2006 na newyorském BarCampu. Při této příležitosti byla vydána nová major verze 4.0.0.

    Ladislav Hagara | Komentářů: 2
    Které desktopové prostředí na Linuxu používáte?
     (18%)
     (5%)
     (0%)
     (9%)
     (20%)
     (3%)
     (5%)
     (2%)
     (11%)
     (38%)
    Celkem 543 hlasů
     Komentářů: 16, poslední včera 17:04
    Rozcestník

    Dotaz: C++ cyklus

    2.9.2011 14:43 ubka
    C++ cyklus
    Přečteno: 741×

    Dobry den,

    v premmenej string mam zadefinovanych viac slov a potreboval by som jednotlive slova v cykles pouzit ako premenne.

    priklad:   premenna="peter martin jano fero"

    a program by postupne vypisal:

    ahoj peter

    ahoj jano a podobne

     

    dakuje za radu


    Řešení dotazu:


    Odpovědi

    2.9.2011 15:36 l4m4
    Rozbalit Rozbalit vše Re: C++ cyklus
    Nejsnáze použitím boost::split, což ti dá vector stringů.

    Šíleně, leč velmi C++-ově vytvořením strstreamu z premenna a čtením toho streamu po slovech.

    Nebo prostě jako v C.
    2.9.2011 23:07 _____ | skóre: 5 | blog: Poznámky
    Rozbalit Rozbalit vše Re: C++ cyklus

    To Boost řešení by vypadalo takhle:

    #include <boost/foreach.hpp>
    #include <boost/algorithm/string.hpp>
    #include <iostream>
    #include <vector>
    
    using namespace std;
    using namespace boost::algorithm;
    
    int main()
    {
        string premenna="peter martin jano fero";
        vector<string> jmena;
        
        split(jmena, premenna, is_any_of(" "), token_compress_on); 
        
        BOOST_FOREACH(const string &jmeno, jmena) {
            cout << "ahoj " << jmeno << "\n";
        }
        
        return 0;
    }
    
    2.9.2011 15:36 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: C++ cyklus
    Třeba takto? :-)
    #include <iostream>
    #include <string>
    #include <sstream>
    #include <algorithm>
    #include <iterator>
    #include <vector>
    
    
    void pis(std::string &str) {
      std::cout << "Vitaj z hub " << str << ", kde mas ceren?" << std::endl;
    }
    
    void vypisto(std::string &str)
    {
      std::istringstream iss(str);
      std::vector<std::string> slova;
      copy(std::istream_iterator<std::string>(iss),
           std::istream_iterator<std::string>(),
           std::back_inserter<std::vector<std::string> >(slova));
      //pozadovany cyklus :)
      for_each (slova.begin(), slova.end(),pis);
    
    }
    
    int main() {
      std::string tosplit = "peter martin jano fero";
      vypisto(tosplit);
    }
    
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    6.9.2011 11:12 miso | skóre: 36 | blog: iSCSI_initiator_howto | Praha
    Rozbalit Rozbalit vše Re: C++ cyklus
    Mas tam chybu ;-)

    s/hub/ryb/ alebo s/ceren/kosik/
    Project Satan infects Calculon with Werecar virus
    2.9.2011 15:38 malformed | Praha
    Rozbalit Rozbalit vše Re: C++ cyklus
    vlozit do string streamu a pak nad tim iterovat:
    
    int main()
    {
        std::string names("peter martin jano fero");
        std::istringstream iss(names);
    
        typedef std::istream_iterator<std::string> iss_iterator;
    
        for(iss_iterator it(iss); it != iss_iterator(); ++it)
            std::cout << "ahoj " << *it << std::endl; 
    
        return 0;
    }
    
    2.9.2011 16:12 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: C++ cyklus
    Nebo to z toho streamu lze rovnou číst pomocí >>
    2.9.2011 19:47 yuukimaru
    Rozbalit Rozbalit vše Re: C++ cyklus
    cili nejak takto:
    std::string names("peter martin jano fero");
    std::istringstream iss(names);
    std::string sub;
    
    while(iss >> sub){
        std::cout << "ahoj " << sub;
    }
    
    3.9.2011 13:50 ubka
    Rozbalit Rozbalit vše Re: C++ cyklus
    dakujem vsetky za radu velmi mi to pomohlo
    3.9.2011 16:31 a
    Rozbalit Rozbalit vše Go cyklus
    package main
    
    import "fmt"
    import "strings"
    
    func main() {
            a := "peter martin jano fero"
            for _, s := range strings.Split(a, " ") {
                    fmt.Printf("ahoj %s\n", s)
            }
    }
    
    3.9.2011 18:48 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Go cyklus
    Obávám se, že se svou představou o syntaxi C++ u překladačů moc pochopení nenaleznete…

    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.