Externí vyhledávání v c++
- Coburn
- Začátečník

-
- Registrován: 12. čer 2006
- Bydliště: Kobenhavn, Denmark
- Kontaktovat uživatele:
Externí vyhledávání v c++
Zdarec
Chtěl bych vytvořit prográmek, který by pomocí fstream do sebe natáhl čtyři textové soubory, ve kterých by následně vyhledával slova, které by uživatel napsal. Potřeboval bych jen, aby zjistil, jestli se dané slovo nachází v určitém souboru, nebo ne.
S fstream, porovnávání textu apod. problém nemám. Nevím ale jak udělat vyhledávání. Kdybyste někdo věděl, prosím napište.
Děkuju
Chtěl bych vytvořit prográmek, který by pomocí fstream do sebe natáhl čtyři textové soubory, ve kterých by následně vyhledával slova, které by uživatel napsal. Potřeboval bych jen, aby zjistil, jestli se dané slovo nachází v určitém souboru, nebo ne.
S fstream, porovnávání textu apod. problém nemám. Nevím ale jak udělat vyhledávání. Kdybyste někdo věděl, prosím napište.
Děkuju
CPU: Intel Core2 Duo E6300 2,33Ghz, GPU: Leadtek Winfast PX7600GS, MB: MSI P965 NEO-F, PSU-ASUS XXX 450W, HDD: Seagate Barracuda 7200.10, 320GB
- €agle
- Středně pokročilý

- Registrován: 13. lis 2003
- Bydliště: Vlastní 3D svět :)
- Kontaktovat uživatele:
Re: Externí vyhledávání v c++
Kdyz
tak nejjednoduseji vzdycky nacti radek (nebo rovnou cely soubor) do bufferu a pak if(strstr(Buffer, "Hledany vyraz")) Nalezeno = true;Coburn píše:S fstream, porovnávání textu apod. problém nemám.
Eagle3D Engine under developement
Hledáme do firmy schopného ASP/VB.NET/C# programátora, více po SZ
Hledáme do firmy schopného ASP/VB.NET/C# programátora, více po SZ
- Coburn
- Začátečník

-
- Registrován: 12. čer 2006
- Bydliště: Kobenhavn, Denmark
- Kontaktovat uživatele:
- Coburn
- Začátečník

-
- Registrován: 12. čer 2006
- Bydliště: Kobenhavn, Denmark
- Kontaktovat uživatele:
jeste bych se rad jinak zeptal, jestli existuje nejaky prikaz, ktery neporovnava jako !strcmp cely text, ale jenom jeho cast.
napr. kdyz napisu "program", tak aby to naslo take "programy", "programu", "programum"...
napr. kdyz napisu "program", tak aby to naslo take "programy", "programu", "programum"...
CPU: Intel Core2 Duo E6300 2,33Ghz, GPU: Leadtek Winfast PX7600GS, MB: MSI P965 NEO-F, PSU-ASUS XXX 450W, HDD: Seagate Barracuda 7200.10, 320GB
- Coburn
- Začátečník

-
- Registrován: 12. čer 2006
- Bydliště: Kobenhavn, Denmark
- Kontaktovat uživatele:
- mhl
- Středně pokročilý

-
- Registrován: 17. úno 2004
- Bydliště: Brno
- před cin ti chyběl prostor jmen, nicnéně v tom problém asi není(pokud používáš direktivu using)
- strcmp očekává první proměnnou typu 'const char *', Text[1] je typu char
- když napíšeš "a" bude to přeloženo jako 'a', '\0' - tj dva znaky ... to do Text[1] samozřejmě uložit nejde
zde je funkční verze...
... nicméně to pořád není ono, když zadáš víc než 19 znaků nastane buffer overflow, chce to více využít předností c++ 
- strcmp očekává první proměnnou typu 'const char *', Text[1] je typu char
- když napíšeš "a" bude to přeloženo jako 'a', '\0' - tj dva znaky ... to do Text[1] samozřejmě uložit nejde
zde je funkční verze...
Kód: Vybrat vše
#include <iostream>
int main()
{
char Text[20];
std::cin >> Text;
if(!strcmp(Text+1, "0"))
{
Text[1] = 'a';
}
}
- Coburn
- Začátečník

-
- Registrován: 12. čer 2006
- Bydliště: Kobenhavn, Denmark
- Kontaktovat uživatele:
Diky moc.
c++ forever
c++ forever
Naposledy upravil(a) Coburn dne ned 15. dub 2007, 16:43, celkem upraveno 1 x.
CPU: Intel Core2 Duo E6300 2,33Ghz, GPU: Leadtek Winfast PX7600GS, MB: MSI P965 NEO-F, PSU-ASUS XXX 450W, HDD: Seagate Barracuda 7200.10, 320GB
- Coburn
- Začátečník

-
- Registrován: 12. čer 2006
- Bydliště: Kobenhavn, Denmark
- Kontaktovat uživatele:
Mel bych jeste jednu vec.
Kdyz mam pole Text, ktere porovnavam se zbytkem textu a tim padem vyhledavam a chci, aby se po vyhledani a zapsani do souboru automaticky zmenilo, vzdycky mi to vyhodi chybu. Nemam includovat neco navic?
v nasledujicim kodu je odkaz na funkci fulltext();, ktera je funkcni, v tom problem neni. Nemuzu ji sem dat, je strasne dlouha.
Kdyz mam pole Text, ktere porovnavam se zbytkem textu a tim padem vyhledavam a chci, aby se po vyhledani a zapsani do souboru automaticky zmenilo, vzdycky mi to vyhodi chybu. Nemam includovat neco navic?
v nasledujicim kodu je odkaz na funkci fulltext();, ktera je funkcni, v tom problem neni. Nemuzu ji sem dat, je strasne dlouha.
Kód: Vybrat vše
char Text[20];
fulltext();
Text = "obsah1";
fulltext();
Text = "obsah2";
fulltext();
atd atd...CPU: Intel Core2 Duo E6300 2,33Ghz, GPU: Leadtek Winfast PX7600GS, MB: MSI P965 NEO-F, PSU-ASUS XXX 450W, HDD: Seagate Barracuda 7200.10, 320GB
- €agle
- Středně pokročilý

- Registrován: 13. lis 2003
- Bydliště: Vlastní 3D svět :)
- Kontaktovat uživatele:
Vyse uvedeny strstr hleda prvni vyskyt daneho vyrazu v retezci, takze pokud zadas "abc", je tomu jedno, jestli je retezec "abcd" "abcdef" nebo "abcretezec", proste ti vrati pointer na prvni vyskyt stringu "abc" a je mu jedno, jak pokracuje...Coburn píše:jeste bych se rad jinak zeptal, jestli existuje nejaky prikaz, ktery neporovnava jako !strcmp cely text, ale jenom jeho cast.
napr. kdyz napisu "program", tak aby to naslo take "programy", "programu", "programum"...
Uz vysvetloval mhl. Jenom bych dodal, ze pokud chces porovnavat ciste jenom jeden znak, tak je lepsi if(text[1] == '0').Coburn píše:A pak jeste jestli byste mi neporadil, proc se mi nechce zkompilovat tohle:
char Text[20];
cin >> Text;
if(!strcmp(Text[1], "0")) {Text[1] = "a";}
Text = "Obsah" nelze pro nacitani retezcu pouzit, musis pouzit funkci strcpy, v tvem pripade tedy strcpy(Text, "Obsah")Coburn píše:Kdyz mam pole Text, ktere porovnavam se zbytkem textu a tim padem vyhledavam a chci, aby se po vyhledani a zapsani do souboru automaticky zmenilo, vzdycky mi to vyhodi chybu. Nemam includovat neco navic?
Eagle3D Engine under developement
Hledáme do firmy schopného ASP/VB.NET/C# programátora, více po SZ
Hledáme do firmy schopného ASP/VB.NET/C# programátora, více po SZ
- Brtl!
- Nováček

-
- Registrován: 16. bře 2007
- Bydliště: Ostrava
- Kontaktovat uživatele:
- Coburn
- Začátečník

-
- Registrován: 12. čer 2006
- Bydliště: Kobenhavn, Denmark
- Kontaktovat uživatele:
- Coburn
- Začátečník

-
- Registrován: 12. čer 2006
- Bydliště: Kobenhavn, Denmark
- Kontaktovat uživatele:
Mam problem
ruzne jsem si naklonoval ruzny casti kodu, ze jenom vyslednej textovej soubor měl 80 mb. soubor cpp ma 83MB. Zkousel jsem to zkompilovat, ale dev-c++ mi vyhodi chybu, ze mam malo pameti a visual c++ vyhodi chybu c1010.
dalo to hodně práce, please help
ruzne jsem si naklonoval ruzny casti kodu, ze jenom vyslednej textovej soubor měl 80 mb. soubor cpp ma 83MB. Zkousel jsem to zkompilovat, ale dev-c++ mi vyhodi chybu, ze mam malo pameti a visual c++ vyhodi chybu c1010.
dalo to hodně práce, please help
CPU: Intel Core2 Duo E6300 2,33Ghz, GPU: Leadtek Winfast PX7600GS, MB: MSI P965 NEO-F, PSU-ASUS XXX 450W, HDD: Seagate Barracuda 7200.10, 320GB
- €agle
- Středně pokročilý

- Registrován: 13. lis 2003
- Bydliště: Vlastní 3D svět :)
- Kontaktovat uživatele: