Diskuze: Z textové souboru vytáhnout informaci do proměnné v C

C++ C a C++ Z textové souboru vytáhnout informaci do proměnné v C

Avatar
Jiří Jeřábek (thechorcheecz):

Zdravím, chtěl bych se zeptat, jestli někdo neví jak vytáhnout z textové souboru např. uložený text a poté ho dát do proměnné, abych ji mohl testovat a pracovat sní, neví někdo, snažil jsem se to hledat, ale nenašel jsem nikdy to správné. Do souboru umím zapsat, ale neumím z něj ten text vytáhnout. Doufám, že to vůbec jde. Díky!

 
Odpovědět 17.2.2015 22:05
Avatar
David Novák
Tým ITnetwork
Avatar
Odpovídá na Jiří Jeřábek (thechorcheecz)
David Novák:

Jaký text a jak s ním chceš pak pracovat? :)

Chceš řádky (znáš maximální délku)? Slova? Potřebuješ ho mít celý načtený nebo ti to stačí přečíst jednou a hned to budeš zpracovávat?

Nahoru Odpovědět 17.2.2015 22:09
Chyba je mezi klávesnicí a židlí.
Avatar
David Novák
Tým ITnetwork
Avatar
Odpovídá na Jiří Jeřábek (thechorcheecz)
David Novák:

http://www.itnetwork.cz/…vymi-soubory

Tu máš návod na práci s textovými soubory (nebo chceš pracovat s binárnímy?)

Nahoru Odpovědět 17.2.2015 22:10
Chyba je mezi klávesnicí a židlí.
Avatar
Odpovídá na David Novák
Jiří Jeřábek (thechorcheecz):

dělám něco jako přihlašování stejně jako je to na webu, člověk si při registraci zvolí heslo, to heslo uložím do textového souboru, potom v přihlášení potřebuji testovat jestli to heslo sedí se zadaným heslem, heslo můžu omezit, takže délku budu znát

 
Nahoru Odpovědět 17.2.2015 22:15
Avatar
David Novák
Tým ITnetwork
Avatar
Odpovídá na Jiří Jeřábek (thechorcheecz)
David Novák:

aha..

no.. tak hesla rozhodně jen tak do textového souboru neukládej :D
minimálně je osol a zahashuj, nebo je to strašně nebezpečné (pokud to chceš pak někde reálně použít)

takže tvoje představa je že budeš mít na řádku uživatelské jméno mezera heslo?

Nahoru Odpovědět 17.2.2015 22:19
Chyba je mezi klávesnicí a židlí.
Avatar
Odpovídá na David Novák
Jiří Jeřábek (thechorcheecz):

jo, přesně to myslím, klidně to zahashuju, ale napřed musím udělat to čtení z toho, až pak budu přemýšlet o hashování

 
Nahoru Odpovědět 17.2.2015 22:53
Avatar
David Novák
Tým ITnetwork
Avatar
Odpovídá na Jiří Jeřábek (thechorcheecz)
David Novák:

tak to není nic těžkého :)

je to prakticky stejné jako když čteš z normálního vstupu pomocí scanf.. jen použiješ fscanf.

Nějak takhle by teoreticky mohl vypadat základ..

char jmeno[51];
char heslo[51];
while(fscanf(soubor, " %50s %50s ", jmeno, heslo) != EOF)
{
//tu pracuješ s načtenými hodnotami (ověřuješ, jestli se rovnají)
}

nebo můžeš číst po znacích pomocí fgetc.. Přístupů je spousta. Nastuduj si o tom něco (třeba dokumentace C, pokud zvládáš AJ) a vyber si :)

Jinak co jsem napsal, tak samozřejmě není hotový kód a chce to vyzkoušet, ověřit a ošetřit.. Je to jen takový nástin ;)

Možná by sis tam ještě před jméno taky mohl přidat ID, abys to pak mohl rozumně upravovat.. Jako nejlepší by bylo použít nějaký databázový systém.. ale taky si můžeš klidně udělat svůj..

Editováno 17.2.2015 23:04
Akceptované řešení
+20 Zkušeností
Řešení problému
Nahoru Odpovědět  +1 17.2.2015 23:04
Chyba je mezi klávesnicí a židlí.
Avatar
Odpovídá na David Novák
Jiří Jeřábek (thechorcheecz):

Moc děkuji, funguje, konečně jsem to pochopil :D

 
Nahoru Odpovědět  +1 20.2.2015 22:38
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 8 zpráv z 8.