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 13:33 | IT novinky

    Technologická společnost Anthropic v noci na dnešek oznámila, že se obrátí na soud kvůli rozhodnutí ministerstva obrany označit ji za bezpečnostní riziko dodavatelského řetězce poté, co nevyhověla jeho požadavkům týkajícím se používání umělé inteligence (AI). Prezident Donald Trump krátce před tím uvedl, že nařídil federálním úřadům postupně ukončit využívání jejích AI technologií. Spor mezi firmou vyvíjející chatbot Claude a

    … více »
    Ladislav Hagara | Komentářů: 2
    včera 15:44 | Upozornění

    Zemřel Rob Grant, spolutvůrce kultovního sci-fi seriálu Červený trpaslík.

    Ladislav Hagara | Komentářů: 3
    27.2. 17:33 | IT novinky

    Apple oznámil, že iPhone a iPad jako první a jediná zařízení pro koncové uživatele splňují požadavky členských států NATO na zabezpečení informací. Díky tomu je možné je používat pro práci s utajovanými informacemi až do stupně „NATO Restricted“, a to bez nutnosti instalovat speciální software nebo měnit nastavení. Žádné jiné běžně dostupné mobilní zařízení tak vysokou úroveň státní certifikace dosud nezískalo.

    Ladislav Hagara | Komentářů: 13
    27.2. 13:00 | IT novinky

    Americký provozovatel streamovací platformy Netflix odmítl zvýšit nabídku na převzetí filmových studií a streamovací divize konglomerátu Warner Bros. Discovery (WBD). Netflix to ve čtvrtek oznámil v tiskové zprávě. Jeho krok po několikaměsíčním boji o převzetí otevírá dveře k akvizici WBD mediální skupině Paramount Skydance, a to zhruba za 111 miliard dolarů (2,28 bilionu Kč).

    Ladislav Hagara | Komentářů: 16
    27.2. 12:44 | IT novinky

    Americká společnosti Apple přesune část výroby svého malého stolního počítače Mac mini z Asie do Spojených států. Výroba v závodě v Houstonu by měla začít ještě v letošním roce, uvedla firma na svém webu. Apple také plánuje rozšířit svůj závod v Houstonu o nové školicí centrum pro pokročilou výrobu. V Houstonu by měly vzniknout tisíce nových pracovních míst.

    Ladislav Hagara | Komentářů: 20
    27.2. 12:11 | Zajímavý článek

    Vědci Biotechnologické společnosti Cortical Labs vytvořili biopočítač nazvaný CL1, který využívá živé lidské mozkové buňky vypěstované z kmenových buněk na čipu. Po úspěchu se hrou PONG se ho nyní snaží naučit hrát DOOM. Neurony přijímají signály podle toho, co se ve hře děje, a jejich reakce jsou převáděny na akce jako pohyb nebo střelba. V tuto chvíli systém hraje velmi špatně, ale dokáže reagovat, trochu se učit a v reálném čase se hrou

    … více »
    karkar | Komentářů: 10
    27.2. 01:55 | Nová verze Ladislav Hagara | Komentářů: 0
    26.2. 21:33 | Nová verze

    Ben Sturmfels oznámil vydání MediaGoblinu 0.15.0. Přehled novinek v poznámkách k vydání. MediaGoblin (Wikipedie) je svobodná multimediální publikační platforma a decentralizovaná alternativa ke službám jako Flickr, YouTube, SoundCloud atd. Ukázka například na LibrePlanet.

    Ladislav Hagara | Komentářů: 0
    26.2. 15:44 | Zajímavý software

    TerminalPhone (png) je skript v Bashi pro push-to-talk hlasovou a textovou komunikaci přes Tor využívající .onion adresy.

    Ladislav Hagara | Komentářů: 6
    26.2. 12:22 | IT novinky

    Před dvěma lety zavedli operátoři ochranu proti podvrženým hovorům, kdy volající falšuje čísla anebo se vydává za někoho jiného. Nyní v roce 2026 blokují operátoři díky nasazeným technologiím v průměru 3 miliony pokusů o podvodný hovor měsíčně (tzn., že k propojení na zákazníka vůbec nedojde). Ochrana před tzv. spoofingem je pro zákazníky a zákaznice všech tří operátorů zdarma, ať už jde o mobilní čísla nebo pevné linky.

    Ladislav Hagara | Komentářů: 12
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (6%)
     (0%)
     (11%)
     (27%)
     (2%)
     (5%)
     (2%)
     (13%)
     (26%)
    Celkem 974 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Dotaz: C++ a fstream

    lobodpav avatar 16.5.2005 21:01 lobodpav | skóre: 8 | Ostrava
    C++ a fstream
    Přečteno: 2403×
    Zdravím. Mám drobný problém, se kterým si nevím rady. Potřebuji otevřít soubor pro čtení i pro zápis a pokud neexistuje, tak jej vytvořit. Kód v příloze by to měl provést, ale soubor pouze vytvoří a nic do něj nezapíše...
    #include <iostream>
    #include <fstream>
    
    using namespace std;
    
    int main() {
      // otevreni pro cteni i zapis
      fstream *dbFile = new fstream("file.txt", ios::in | ios::out | ios::binary);
      if (!dbFile->is_open()) { // soubor nelze otevrit
        cout << "Creating file" << endl;
        dbFile->open("file.txt", ios::out | ios::binary); // vytvoreni souboru
        if (!dbFile->is_open()) {
          cout << "Cannot create file" << endl;
          return 0;
        }
        dbFile->close();
        // otevreni pro cteni i zapis
        dbFile->open("file.txt", ios::in | ios::out | ios::binary);
        if (!dbFile->is_open()) {
          cout << "Cannot open file after create" << endl;
          return 0;
        }
        if (!dbFile->write("AABB", 4))
          cout << "Cannot write to file" << endl;
        dbFile->close();
      }
      else
        cout << "Opening file" << endl;
      delete dbFile;
      return 0;
    }
    

    Odpovědi

    16.5.2005 22:21 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: C++ a fstream
    Je potřeba zavolat dbFile->clear(), jinak po chybě odmítá spolupracovat. Taky to jde o něco zjednodušit.
    #include <fstream>
    
    using namespace std;
    
    int main()
    {
      // jako fopen(..., "r+") => O_RDRW
      fstream *dbFile = new fstream("file.txt", ios::in | ios::out);
      if (!*dbFile) {
        dbFile->clear();
        // jako fopen(..., "w+") => O_RDRW | O_TRUNC | O_CREAT
        dbFile->open("file.txt", ios::in | ios::out | ios::trunc);
      }
      if (!*dbFile) {
        perror("file.txt");
        return 1;
      }
      if (!dbFile->write("AAXB", 4)) {
        perror("writing to file.txt");
        return 1;
      }
      dbFile->close();
      delete dbFile;
      return 0;
    }
    
    lobodpav avatar 17.5.2005 06:11 lobodpav | skóre: 8 | Ostrava
    Rozbalit Rozbalit vše Re: C++ a fstream
    Díky!!! O tom clear jsem se nikde nedočetl. Za ta zjednodušení taky díky.
    Když už jsme u C++, nevíte, zda se nedá sehnat nějaká dokumentace, jakou má např. Java API?? Nikde jsem nic podobného nenašel a dokumentace linuxu neobsahuje nic kolem C++ ...
    17.5.2005 07:33 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: C++ a fstream
    Hladas nieco taketo, taketo alebo taketo?
    lobodpav avatar 17.5.2005 08:06 lobodpav | skóre: 8 | Ostrava
    Rozbalit Rozbalit vše Re: C++ a fstream
    Ano. To jsou good odkazy :-)
    Díky!
    17.5.2005 10:59 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: C++ a fstream
    No, jak na to teď koukám, tak jsem to zjednodušil až moc, kdyby ten program hned neskončil, tak je samozřejmě potřeba delete dbFile; i při chybě (nebo mít dbFile na zásobníku...). Ale podstatné je to volání dbFile->clear() a to, že dbFile->open() stačí volat dvakrát.
    lobodpav avatar 17.5.2005 15:23 lobodpav | skóre: 8 | Ostrava
    Rozbalit Rozbalit vše Re: C++ a fstream
    Jojo, a odstranil jsi mi flag ios::binary, ale to jsou detaily...
    Hlavně, že mi to teď hezky běží :-) Dík.
    elviin avatar 17.5.2005 21:58 elviin | skóre: 29 | blog: elviin | Plzeň-Praha
    Rozbalit Rozbalit vše Re: C++ a fstream

    twofish uz te zrejme uspokojil:). jen bych dodal pro inspiraci jine reseni:

    #include <iostream>
    #include <fstream>
    
    using namespace std;
    
    namespace {
      const string JMENO = "file.txt";   
    }
    
    
    int main() {
      fstream test;
       
      test.exceptions ( ifstream::eofbit | ifstream::failbit | ifstream::badbit );
      
      try {
        test.open ( JMENO.c_str(), ios::in | ios::out | ios::binary | ios::trunc);
      }
      catch (ifstream::failure &e) {
        cerr << e.what() << ":"<< endl; 
        perror ("Vyjimka otevreni/cteni ze souboru.");
        exit(1);
      }
    
      return 0;
    }
    

    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.