NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Rozložení vstupního řetězce

V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
švrčajs
Člen
Avatar
švrčajs:21.11.2016 23:04

Zdravím, mám menší problém a potřeboval bych radu. Mám soubor, ten si načtu a snažím se ho číst po řádku, jenže problém je v tom, že jediný oddělovací znak, co jsem našel je \x, což je pro hex. soustavu... A nevím, jak ho využít tak, aby fungoval zároveň jako oddělovač řádků.. soubor jsem načítal takto

string radek;
        string jmeno = Filtr;
        while (!reader.eof()) {
                //načtení jednoho jména + uvolnění locku
                EnterCriticalSection(&lock1);
                reader >> radek;
                LeaveCriticalSection(&lock1);
                if (radek.compare(0, jmeno.length(), jmeno) == 0) {
                        EnterCriticalSection(&lock2);
                        writer << radek << endl;
                        pocet++;
                        LeaveCriticalSection(&lock2);
                }
        }

Byl by někdo tak hodný a poradil ? :D

 
Odpovědět
21.11.2016 23:04
Avatar
David Moškoř:22.11.2016 7:12

Zkoušel jsi tohle http://www.itnetwork.cz/…vymi-soubory

Nahoru Odpovědět
22.11.2016 7:12
Život je příliš krátký na to, abyste vymýšleli smysluplné názvy proměnných...
Avatar
Roman
Člen
Avatar
Odpovídá na švrčajs
Roman:22.11.2016 7:16

Cti znak po znaku a reaguj na nacteny znak.

 
Nahoru Odpovědět
22.11.2016 7:16
Avatar
Odpovídá na švrčajs
Radek Chalupa:22.11.2016 7:39

Nevím sice z té otázky, co je přesně konečným cílem, ale pokud potřebuješ jednotlivé řádky souboru, načti ho celý jedním čtením do bufferu a pak můžeš použít funkci strtok/wcstok (podle znakové sady). Oddělovač řádků zjistíš když si otevřeš soubor v binárním/hexa editoru, ve Windows je to standardně "dvojznak" 0x0D 0x0A, tak tyto znaky zadáš jako separátory funkce wcstok.

Radek Chalupa

  • školení programování, konzultace (C/C++, C#, WinAPI, .NET Framework, COM, ActiveX, ATL, MFC, ...)
  • vývoj software na zakázku

http://www.radekchalupa.cz

 
Nahoru Odpovědět
22.11.2016 7:39
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.