Zamilovat si programování Zamilovat si programování
Pouze tento týden až 80% sleva na SQL jazyky
Zamiluj si programování! Až 80 % bodů na prémiový obsah zdarma. Více informací
Avatar
Oli Wonder
Člen
Avatar
Oli Wonder:3.6.2018 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.6.2018 17:48
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Oli Wonder
DarkCoder:3.6.2018 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.6.2018 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.6.2018 19:17

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

 
Nahoru Odpovědět 3.6.2018 19:17
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na Oli Wonder
Martin Dráb:3.6.2018 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.6.2018 21:06
2 + 2 = 5 for extremely large values of 2
Avatar
Michal Friedl:5.11.2018 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.11.2018 5:10
 
Nahoru Odpovědět 5.11.2018 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.