Kezdőlap › Fórumok › Programozás › C-fejlesztés, KDevelop, stb…
- This topic has 184 hozzászólás, 25 résztvevő, and was last updated 20 years, 7 months telt el by
admin.
-
SzerzőBejegyzés
-
2004-04-29-17:31 #1915593
Nos ebben a dzsungelben bármi lehet.
Nem lehetne úgy csinálni, hogy ha ”-g beolvas mindent, aztán összehasonlítja a „” kifejezéssel strcmp szabványos függvénnyel, mert úgy nem lenne, annyi if, és a bõvíthetõsége is jobb lenne mert nem kellene ill. -ra sem másra új fügvényt írni.Különben nem tudom valószínû a while ciklusnak nincs vége.
Azért is jó a fent említett módon csinálni, mert a kifejezést ki lehet printelni, hogy jól csinálta-e addig.2004-04-29-17:39 #1915594Mivel kezdõ vagyok, így nem nagyon ismerek függvényeket…ha lennél olyan kedves leírni, hogy ezt kb hogy lehetnem megoldani, milyen függvényekkel. Köszönöm a válaszod.
2004-04-29-18:12 #1915595Ez nincs tesztelve, ezért lehetnek benne hibák.
De egy jó példa arra, hogyan tehetjük átláthatóvá a feladatot.Ez nem csinál mást, mint megkeresi a ‘stream’-be, a ‘str’ stringet.
(1 a visszatérése, ha megtalálta, egyébként 0)int searchstr(char *str) {
char *buf;
do
int i=0;
while ((c = fgetc(stream)) != ”) {
if (c == EOF) return 0;
buf = c; // de közben berakja a buf-ba pl. a ‘strong’-ot
}
while (strcmp(buf, str)); //ha buf nem azonos str-rel keres tovább
return 1;
}Ezek után:
if (searchstr(„strong”)) {
// további kód
}Csak áttekinthetõbb, nem?
2004-04-29-18:38 #1915596Javaslom, használd az elõttem szóló kódját, de oktatási célból a hibák, amiket elkövettél:
while(betu=(getc(musor))!=EOF)
Ez a getc visszatérési értékét hasonlítja EOf-fal, amit felvesz a betu nevû változó – nem ezt akartad
helyesen : while((betu=(getc(musor)))!=EOF)
if(betu=’<')
Ez az = és == összekeverésének iskolapéldája.
printf(„%s”,betu);
Ez okozta a segfaultot. %c kell, az karaktert vár, a %s sztringet, aminek végén van. A betu végén ilyen ugye nincs, úgyhogy a printf szépen kiszaladt a saját memótiaterületérõl, a keresése közben.
while(betu=(getc(musor))!=’<'){
printf(„%s”,betu);
}
Ez meg végtelen ciklus, az = és == összekeverése+a másik while-nál mondottak miatt.2004-04-29-18:43 #1915597Mivel kezdõ vagyok, így nem nagyon ismerek függvényeket…
Javaslom beszerezni a Kernighan-Ritchie -féle ‘A c programozási nyelv’ címû alapmûvet, ha komolyan gondolod, hogy programozni akarsz c-ben (és ha megvan, akkor használni is 🙂 ).
(hibalista itt 😀 )2004-04-29-19:21 #1915598Nagyon szépen köszönöm a gyors és nagyban segítõ válaszokat 🙂
vizsla kódja valóban áttekinthetõ, ám mivel a fájlban több strong is van, és tudnom kell, hogy mi van közötte, így a meglétének vizsgálata nem elég. Ezért egyenlõre kelemengabor írása segítségével írtam át a programot, ami mostmár mûködik. Ha az egész jó lesz, átgondolom ezt a dolgot mégegyszer, de addig nem akarom módosítani, mert ami mûködik, azt nem piszkálom 😀Még annyit áruljatok el plz, hogy egy neten levõ oldal forrását hogyan tudnám fájlba elmenteni, vagy rögtön a netrõl megnyitni.
Köszi
2004-04-29-19:54 #1915599char **bufx;
int bpos = 0;//Ez beolvassa a két közötti dolgokat bufx-be, amely stringeket tartalmaz
int getxstr(void)
{
int i;
while ((c = fgetc(stream)) != ‘<') {
bufx[bpos] = c;
if (c == EOF) return 0;
i++;
}
return 1;
}//Ez meg végig vizsgálja a file-t
do
x = searchstr(„strong”);
if (x) getxstr();
bpos++;
while (x);//Ezek után a bufx tartalmazza az összes olyan dolgot, ami neked kell.
//bpos mutatja, hogy hány darabEz szintén nincs kipróbálva, de írd át mert már gánya is!
Az internetes elérést még nem tudom.
2004-04-30-15:45 #1915600Megvan a mentés!
Konzolban van ilyen progi, hogy wget
ezzel le lehet menteni teljes oldalt így:
wget „http://cim”
és a c forrásba hasonlót lehet elérni (bár ezt még nem próbáltam, így:
system(„parancs”);
tehát így nézne ki:system(„wget „http://cim””);
csak ugye akkor itt torlódnak a ” jelek.
Ekkor ugye a belsõ kettõ elé kell egy-egy , nem?2004-04-30-16:55 #1915601Szerintem egyátalán nem kell a belsõ „, de ha mégis, akkor ” a jó.
2004-04-30-18:50 #1915602Kell, mert a cím php-s GET típusú, és ezért nem értelmezné végig, tehát ” jelek nélkül nem a megfelelõ oldalt szedné le
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz