Hogyan lehetne megírni egy ilyen függvényt? (C programozás)
bool tartalmaz(const char* tesztszo, const char* alapszo){
return false;
}
Akkor adjon vissza igazat(true), hogyha a tesztszó az összes betűjét felhasználta az alapszónak, ezen kívül lehet benne más is. Pl. ha a tesztszó PirosalMApaprika, az alapszó pedig alma, akkor igazat ad vissza. Kis- és nagybetűk ne zavarják meg a programot.
Előre is köszönöm.
Értem, utána olvastam szóval ez egy karaktersorozatnak az első karakterére mutató pointer lesz.
Csak azt nem értem akkor hogy kiíratáskor miért az egész karaktersorozatot írasa ki mikor a legelső elemre mutató mutatót eredményez.
#4. Azért, mert ez egy tömb, és a kiíró addig írja, amíg 0-t nem talál.
Ha valamiért nem szabályos sztring lenne, azaz nem lenne 0 a végén, akkor be is halna a program.
kérdező: ctype-pal for ciklussal nagybetűsíted őket, aztán strstr függvény.
Technikailag bármi ami nem 0 az true, így a visszaadott pointer is true ha talált, false ha nem.
Eddig jutottam. A nagybetűkre való átváltást nem sikerült megcsinálnom strupr() fügvénnyel. Valaki ezzel ki tudná nekem egészíteni? :o
bool tartalmaz(const char* tesztszo, const char* alapszo){
char *egyezes;
int len;
egyezes=strstr(alapszo, tesztszo);
len=strlen(egyezes);
if(len>0)
{
return true;
}
else
{
return false;
}
}
Ebben a fejlécben találhatók az ami neked kell:
int toupper(int c); // nagybetűsre konvertál egy karaktert
int isupper(int c); // lecsekkolja hogy egy karakter nagybetüs e vagy sem
Ez a sor nem kell:
len=strlen(egyezes);
Ez pedig visszaad egy null mutatót ha nem találta meg az egyik szóban a másikat ezért csak csekkold le hogy null e vagy sem:
egyezes=strstr(alapszo, tesztszo); /* ha van egyezes akkor "egyezes" nem lesz null*/
if(egyezes != null)
return true
Nagybetűkre átváltod:
char* GetBigString(char* str) {
int len = strlen(str);
for(int i = 0; i < len; ++i)
if(!isupper(*(str+i)))
*(str+i) = toupper(*(str+i));
return str;
Nemtom hogy jó e ez így soha nem használtam c nyelvet.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!