Vánoční nadílka Vánoční nadílka
Až 80% zdarma! Předvánoční BLACK FRIDAY akce. Více informací
Avatar
Oli Wonder
Člen
Avatar
Oli Wonder:3. června 17:48

Zdravím, pokušam sa vyriešiť to ked mám v txt subore nejaký text a chcem ho dostať do premennej typu char[]

Zkusil jsem: Použiť odporučania, návody na iných forach

Chci docílit: Aby som mohol pracovať s textom z txt suboru v kode

 
Odpovědět 3. června 17:48
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Oli Wonder
DarkCoder:3. června 18:24

Pro čtení řetězce ze souboru můžeš použít funkci fgets(). Používá hlavičkový soubor stdio.h. Funkce přečte řádku ze specifikovaného proudu a uloží jej do řetězce na který ukazuje znakový ukazatel v první položce v seznamu parametrů. Ukázka použití viz. kód:

fgets(buffer, MAX, fp);
printf("%s\n", buffer);

kde buffer je pole znaků o velikosti MAX a fp je ukazatel na typ FILE.

Nahoru Odpovědět 3. června 18:24
"„Učíš-li se proto, aby sis zapamatoval, zapomeneš. Učíš-li se proto, abys porozuměl, zapamatuješ si."
Avatar
Oli Wonder
Člen
Avatar
Oli Wonder:3. června 19:17

Zabudol som dopísať, že sa jedná o C++

 
Nahoru Odpovědět 3. června 19:17
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na Oli Wonder
Martin Dráb:3. června 21:06

Zabudol som dopísať, že sa jedná o C++

Co se týče čtení ze souboru (fgets atd.), tak C je podmnožinou C++. Pokud chceš být "C++ in", tka místo stdio.h vložíš cstdio. Rozdíl ale není žádný.

Pokud to chceš přes primitiva C++, tak tě bude zajímat třída std::ifstream a řádku načteš přes std::getline. Bude třeba použít hlavičkové soubory iostream a fstream (snad nic víc, možná bude stačit i jen fstream).

Nahoru Odpovědět  +1 3. června 21:06
2 + 2 = 5 for extremely large values of 2
Avatar
Michal Friedl:5. listopadu 5:10

Zdravím, char[] je pole proměnných, tento problém se řeší pomocí řetězců, je to vysvětlené v tutoriálu zde:
Lekce 9

Práce se soubory je vysvětlena zde:
Práce se soubory

Editováno 5. listopadu 5:10
 
Nahoru Odpovědět 5. listopadu 5:10
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 5 zpráv z 5.